题目描述: Reverse a singly linked list. 这道题太经典了,解法有两种,递归和非递归。 见反转单链表
分类:
其他好文 时间:
2015-06-23 13:23:36
阅读次数:
82
最近看了《剑指offer》这本书,遇到了一个问题:反转链表
题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后的链表的头结点。
链表结点定义如下:struct ListNode
{
int _data;
ListNode * _pNext;
};
解决方案如下:ListNode * ReverseList(ListNode * pHead)
{ ListNod...
分类:
其他好文 时间:
2015-06-05 22:39:32
阅读次数:
161
思路:定义四个结点,前结点preNode,当前结点node,下一个结点nextNode,翻转结点reverseNode。遍历结点,设置node结点下一个结点为preNode,把当前结点node赋给preNode,把nextNode赋给node public static ListNote reverseListNode(ListNote headNode) {
if(headNod...
分类:
其他好文 时间:
2015-05-17 16:47:04
阅读次数:
109
单链表反转笔记: 1 #include 2 #include 3 using namespace std; 4 5 struct ListNode 6 { 7 int val; 8 ListNode* next; 9 ListNode(int i):val(i),next(...
分类:
编程语言 时间:
2015-04-07 13:22:27
阅读次数:
122
主要是面试中可能会经常碰上该类似操作,尤其是稍大点公司,面试官可能并不在乎你能不能搞定该题,但是这类型题目最是能体现程序员的思维状态 ---一个迷糊头脑的程序员 怎能立志改变这个世界/** * @author luochengcheng * 定义一个单链表 */class Node { //变量 p...
分类:
编程语言 时间:
2015-03-19 18:05:43
阅读次数:
194
【练习3.12】a.编写一个非递归过程以O(N)时间反转单链表。b.使用常数附加空间编写一个过程以O(N)时间反转单链表。
分类:
其他好文 时间:
2015-03-18 15:28:02
阅读次数:
111
/* 单链表反转/逆序 */Status ListReverse(LinkList L){ LinkList current,pnext,prev; if(L == NULL || L->next == NULL) return L; current = L->nex...
分类:
其他好文 时间:
2015-03-05 12:13:04
阅读次数:
333
我们要想反转单链表,必须增加一个指针指向q的下一个节点,这样当q的next指向p时,原来的q->next才不会失去。使用p和q连个指针配合工作,使得两个节点间的指向反向,同时用r记录剩下的链表。下图为摘抄,代码是自己写的。p=head;q=head->next; head->next=NULL; 现在..
分类:
其他好文 时间:
2015-01-15 01:55:41
阅读次数:
204