输入一个链表,反转链表后,输出链表的所有元素。 思路: ListNode next = null;//用来保存待反序的第一个节点(head 和 next节点) ListNode pre = null;//用来保存已经反序的第一个结点 next = head.next;//首先记录当前节点的下一个节点 ...
分类:
其他好文 时间:
2017-06-23 22:01:25
阅读次数:
156
思路 1. 使用三个指针,一个是新的链表头newHead,一个是遍历原链表的cur,newHead是cur的前一个节点 2. cur不断向前,并把cur->next 指向newHead,逐个反转 3. 第三个指针,tmp,用于记录原来的遍历方向,即原cur->next 代码 ...
分类:
其他好文 时间:
2017-06-19 00:35:59
阅读次数:
205
Reverse a linked list from position m to n. Do it in-place and in one-pass. For example:Given1->2->3->4->5->NULL, m = 2 and n = 4, return1->4->3->2->5 ...
分类:
其他好文 时间:
2017-06-16 16:31:46
阅读次数:
192
输入一个链表,反转链表后,输出链表的所有元素。 ...
分类:
编程语言 时间:
2017-06-07 00:51:02
阅读次数:
149
链表特点: 涉及到索引角标的增删改查操作,都需要先查到元素,然后才可以做其他操作,这种操作的复杂度是O(N); 链表一般会定义头尾指针,头尾的增删很方便,很适合用于实现队列(只有首尾操作)。 链表由于可以头插入和尾插入等等,所以实现逆序很方便,只需要遍历并进行依次头插入即可实现反转链表,也可以通过反 ...
分类:
其他好文 时间:
2017-06-06 01:11:08
阅读次数:
152
1、反转链表递归和迭代版本 原题:leetcode 206. Reverse Linked List Reverse a singly linked list. 迭代版本: 思路:通过举例分析可以知道,在反转其中一个链表后,会发生断裂情况,没法知道下一个链节点,需要建立三个节点,所以需要首先保存后一 ...
分类:
其他好文 时间:
2017-06-05 12:33:14
阅读次数:
150
1,制作环型链表 2。检測链表中是否存在环(參考文章) 3。计算链表中环的长度 4, 计算链表中环起始的位置 5,推断一个链表是否存在回文,要求O(n)时间和O(1)空间的复杂度(推断链表是否是回文,要求O(n)时间。O(1)空间) 6。计算链表中间位置 7,链表原地反转(链表原地反转) 8,測试c ...
分类:
其他好文 时间:
2017-05-28 13:27:09
阅读次数:
330
题目描述 输入一个链表,反转链表后,输出链表的所有元素。 解题思路:该题需要定义三个指针,分别记录当前结点、前一结点、下一结点。 反转过程中,先获得下一结点,然后让当前结点下一个指向前一结点,下一个前一结点为当前结点,当前结点为下一结点。注意如果下一结点为空,则当前结点为为最后一个结点,即返回的头指 ...
分类:
其他好文 时间:
2017-05-16 10:53:41
阅读次数:
161
在断裂之前将下一个节点保存下来 import java.util.Stack;public class Solution { public ListNode ReverseList(ListNode head) { if(head == null ) return null; ListNode pr ...
分类:
其他好文 时间:
2017-05-08 20:59:54
阅读次数:
119
首先统一链表的数据结构为: struct ListNode { int val; struct ListNode *next; ListNode(int x) :val(x), next(NULL) {} }; 题目一:从尾到头打印链表:输入一个链表。从尾到头打印链表每一个节点的值。 分析: 难点在 ...
分类:
其他好文 时间:
2017-05-05 10:41:41
阅读次数:
213