摘要:
"113 删除排序链表中的重复数字 II" 给定一个排序链表,删除所有重复的元素只留下原链表中没有重复的元素。 样例 给出 1 2 3 3 4 4 5 null,返回 1 2 5 null 给出 1 1 1 2 3 null,返回 2 3 null 标签 链表 思路 当前节点 current 的值若 阅读全文
摘要:
"106 排序列表转换为二分查找树" 给出一个所有元素以升序排序的单链表,将它转换成一棵高度平衡的二分查找树 样例 标签 递归 链表 思路 类似于二分查找,每次将链表二分,中间节点作为根节点,在建立左子树与右子树,递归即可 code 阅读全文
摘要:
"104 合并k个排序链表" 合并k个排序链表,并且返回合并后的排序链表。尝试分析和描述其复杂度。 样例 给出3个排序链表[2 4 null,null, 1 null],返回 1 2 4 null 标签 链表 分治法 堆 优先队列 优步 谷歌 推特 领英 爱彼迎 脸书 方法一(最简单,但效率不高) 阅读全文
摘要:
"带环链表 II" 给定一个链表,如果链表中存在环,则返回到链表中环的起始节点的值,如果没有环,返回null。 样例 给出 21 10 4 5, tail connects to node index 1,返回10 挑战 不使用额外的空间 标签 链表 两根指针 思路 参考 "lintcode 102 阅读全文
摘要:
"102 带环链表" 给定一个链表,判断它是否有环。 样例 给出 21 10 4 5, tail connects to node index 1,返回 true 挑战 不要使用额外的空间 标签 链表 两根指针 思路 快慢指针的典型应用,使用块指针 fast 与慢指针 slow,slow每次后移一位 阅读全文