摘要:
"100 删除排序数组中的重复数字" 素只出现一次,并且返回新的数组的长度。 不要使用额外的数组空间,必须在原地没有额外空间的条件下完成。 样例 给出数组A =[1,1,2],你的函数应该返回长度2,此时A=[1,2]。 标签 数组 两根指针 脸书 思路 将数组分为两段,前一段是已经删除重复元素的数 阅读全文
摘要:
"99 重排链表" 给定一个单链表L: L0→L1→…→Ln 1→Ln, 重新排列后为:L0→Ln→L1→Ln 1→L2→Ln 2→… 必须在不改变节点值的情况下进行原地操作。 样例 给出链表 1 2 3 4 null,重新排列后为1 4 2 3 null。 挑战 Can you do this i 阅读全文
摘要:
"98 链表排序" 在 O(n log n) 时间复杂度和常数级的空间复杂度下给链表排序。 样例 给出 1 3 2 null,给它排序变成 1 2 3 null. 挑战 分别用归并排序和快速排序做一遍。 标签 链表 思路 采用归并排序(时间复杂度是O(nlogn)的排序有快速排序、归并排序、堆排序) 阅读全文
摘要:
"96 链表划分" 给定一个单链表和数值x,划分链表使得所有小于x的节点排在大于等于x的节点之前。 你应该保留两部分内链表节点原有的相对顺序。 样例 给定链表 1 4 3 2 5 2 null,并且 x=3 返回 1 2 2 4 3 5 null 标签 链表 两根指针 思路 遍历一次链表,使用常数级 阅读全文