输入一个链表,反转链表后,输出新链表的表头。 思路:链表问题通常用指针操作更清晰明了。反转链表只需要把当前指针从指向下一结点转向前一个结点即可。可是这样会导致链表断开。所以需要多加个指针记录后一个结点。 ...
分类:
其他好文 时间:
2019-02-01 15:43:09
阅读次数:
208
题目描述 输入一个链表,反转链表后,输出新链表的表头。 1 /* 2 public class ListNode { 3 int val; 4 ListNode next = null; 5 6 ListNode(int val) { 7 this.val = val; 8 } 9 }*/ 10 p ...
分类:
其他好文 时间:
2019-01-27 00:23:51
阅读次数:
187
第一轮: Leetcode 2变种。1->2->3和8->7->7返回链表1->0->0->0,输入链表和原题相反。三种方法,vector存储,O(n)时间复杂度,O(n)空间复杂度。链表反转,O(n)时间复杂度,O(1)空间复杂度。对9的位置的特殊处理,one-pass时间复杂度。 第二轮: 给两 ...
分类:
其他好文 时间:
2019-01-19 13:20:58
阅读次数:
201
一、单链表 目录 1.单链表反转 2.找出单链表的倒数第4个元素 3.找出单链表的中间元素 4.删除无头单链表的一个节点 5.两个不交叉的有序链表的合并 6.有个二级单链表,其中每个元素都含有一个指向一个单链表的指针。写程序把这个二级链表称一级单链表。 7.单链表交换任意两个元素(不包括表头) 8. ...
分类:
编程语言 时间:
2019-01-18 12:33:01
阅读次数:
182
92.反转链表 反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。 说明:1 ≤ m ≤ n ≤ 链表长度。 示例: 输入: 1->2->3->4->5->NULL, m = 2, n = 4 输出: 1->4->3->2->5->NULL 详解见图: ...
分类:
其他好文 时间:
2018-12-23 11:13:03
阅读次数:
139
欢迎光临............... 首先我们要搞清楚链表是啥玩意儿?先看看定义: 讲链表之前我们先说说Java内存的分配情况:我们new对象的时候,会在java堆中为对象分配内存,当我们调用方法的时候,会将方法加载到方法区,在方法区保存了加载类的信息,常量,静态变量等等。搞明白这个我们再来讲链表 ...
分类:
编程语言 时间:
2018-12-22 23:23:22
阅读次数:
294
题目描述 输入一个链表,反转链表后,输出新链表的表头。 题目解答 /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Solu ...
分类:
其他好文 时间:
2018-12-21 00:02:46
阅读次数:
192
题目描述 输入一个链表,反转链表后,输出新链表的表头。 题目解答 /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Solu ...
分类:
其他好文 时间:
2018-12-19 23:24:51
阅读次数:
181
之前遇到反转链表的算法,比较晦涩难解,但其实挺简单的。 目标:将一个顺序链表反转。 思路:用三个辅助节点,每次实现一个节点的指向反转,即他的后继变为他的前驱。 三个辅助节点: p q r 按顺序分别指向 节点0,1,2, 然后一次次移动,指向1,2,3 ; 2,3,4...... 算法分为三部分: ...
分类:
编程语言 时间:
2018-12-11 13:50:12
阅读次数:
265
单链表反转实现 1、递归实现 根据递归,递归到最后一个节点(条件为head3为非空,其下一个指向为空),将其next指向前一个结点,前一个结点的指向为None。 注释:原来链表为{1,2,3,4} head指向为1,pHead1=head.next pHead2=pHead1.next pHead3 ...
分类:
编程语言 时间:
2018-12-09 20:00:41
阅读次数:
207