题目描述 输入一个链表,输出该链表中倒数第k个结点。 输入一个链表,输出该链表中倒数第k个结点。 算法的实现:快慢指针 ...
分类:
其他好文 时间:
2017-08-26 23:31:19
阅读次数:
188
https://www.zhihu.com/question/23208893 首先相遇不是操场跑圈,快的能追上慢的,这还用问吗,肯定能追上。而楼主问的是一个人是跳1个格子,另一个跳2个格子,会不会每次要相遇的时候,快的都会跳过慢的那个,从而不会相遇在一个格子。(重点是为什么一定会相遇在一个格子) ...
分类:
其他好文 时间:
2017-08-20 00:46:28
阅读次数:
280
最近算法题也刷了不少,小有感悟。 我觉得刷题时一般的思维方式是迭代思维。就是我们老是想着通过循环,通过顺序解决下一个来迭代解决整个问题。 典型事例有:2Sum, 3Sum, 排序问题,以及用双指针或快慢指针法解决的问题。 迭代思维是一种很直接的思维方式,但绝不简单,因为找到正确的循环方式并不是一件容 ...
分类:
编程语言 时间:
2017-08-16 18:23:28
阅读次数:
178
in-place, 删除元素用快慢指针. 151. Reverse Words in a String 中in-place 去空格的方法是一样 的 ...
分类:
其他好文 时间:
2017-07-31 20:45:59
阅读次数:
100
题目描述 一个链表中包含环,请找出该链表的环的入口结点。 解题思路:先通过快慢指针,找到环中结点,以确定环中结点个数,然后两个指针,一个先走环中结点个数步,然后两个指针一起走,直到相遇得为入口节点 1 /* 2 struct ListNode { 3 int val; 4 struct ListNo ...
分类:
其他好文 时间:
2017-07-03 22:40:07
阅读次数:
209
https://leetcode.com/problemset/all/?search=19 涉及链表删除操作的时候,稳妥起见都用 dummynode,省去很多麻烦。因为不一定什么时候 head 就被删了。 快慢指针 ...
分类:
其他好文 时间:
2017-07-01 19:19:30
阅读次数:
168
Given a linked list, return the node where the cycle begins. If there is no cycle, returnnull. Follow up: 思路: 1)同linked-list-cycle-i一题,使用快慢指针方法,判定是否存在 ...
分类:
其他好文 时间:
2017-06-25 16:09:15
阅读次数:
179
https://leetcode.com/problems/convert-sorted-list-to-binary-search-tree/#/description 跟数组那题没有什么本质区别,唯一的障碍是,在数组里因为长度已知,所以求中位数很方便。但是链表里找中位数就麻烦一点了。 快慢指针再 ...
分类:
其他好文 时间:
2017-06-08 16:36:28
阅读次数:
168
public static boolean hasCycle(ListNode head) { if (head == null || head.next == null) { return false; } ListNode slow = head; ListNode fast = head.ne... ...
分类:
其他好文 时间:
2017-06-08 14:03:35
阅读次数:
231
Given a singly linked list L: L0→L1→…→Ln-1→Ln,reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→… You must do this in-place without altering the nodes' values. For ...
分类:
其他好文 时间:
2017-06-08 00:23:39
阅读次数:
140