题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另 ...
分类:
其他好文 时间:
2019-06-03 20:17:42
阅读次数:
105
难度: 中等 leetcode地址: https://leetcode.com/problems/remove-nth-node-from-end-of-list/description/ 分析: 1. 这题解题思路也不难,两个指针fast, slow,fast先走n步,然后两个一起走,fast走到 ...
分类:
其他好文 时间:
2019-05-26 17:43:10
阅读次数:
89
题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 知识点:查找(二分查 ...
分类:
编程语言 时间:
2019-05-24 20:47:48
阅读次数:
115
题目链接:给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 解题思路: //左神讲的 //先说个定理:两个指针一个fast、一个slow同时从一个链表的头部出发 //fast一次走2步,slow一次走一步,如果该链表有环,两个指针必然在环内相遇 //此时只需要把其中的一个指 ...
分类:
其他好文 时间:
2019-05-20 21:10:36
阅读次数:
150
(剑指offer)输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 思路:选定第一个数字,然后遍历后面的数字求和并与S比较,需要n-1次,不行的话再选定第2,3,,,n个数字,需要n^2次,时间复杂度比较高。更简单的方法 ...
分类:
编程语言 时间:
2019-04-30 21:35:14
阅读次数:
141
Two Pointers 1. 28. Implement strStr() 用 i 记录haystack偏移量,j 记录 needle 的偏移量。 2. 125. Valid Palindrome 只需要建立两个指针,head 和 tail, 分别从字符的开头和结尾处开始遍历整个字符串,如果遇到非 ...
分类:
其他好文 时间:
2019-04-26 22:39:50
阅读次数:
189
描述 输入一个链表,输出该链表中倒数第k个结点。 解析 用两个指针就行,前面的指针先于后面的指针k个节点。 或者,用栈啊,先进后出。 代码 ...
分类:
其他好文 时间:
2019-04-25 01:16:57
阅读次数:
153
输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。 ...
分类:
其他好文 时间:
2019-04-24 00:37:23
阅读次数:
139
第一步:检测链表是否有环。 方法还是比较多的,这里先讲一个:快慢指针。 快慢指针的方法,就是让两个指针同时指向链表。在向后遍历的时候,一个指针每次走两步,称为快指针;一个指针每次走一步,称为慢指针。如果快慢指针相遇,则说明链表有环,否则无环。(后面证明。) 代码实现如下 第二步:找到环的入口。 先画 ...
分类:
其他好文 时间:
2019-04-19 18:03:47
阅读次数:
164
题目描述: 输入一个链表,输出该链表中倒数第k个结点。 思路分析: 设置两个指针,一个fast一个slow,都从链表头开始,让fast先走k步,然后两个指针一起走,当fast走到尾部,那么slow指针指向的就是倒数第K个节点。 代码: ...
分类:
其他好文 时间:
2019-04-15 20:07:04
阅读次数:
128