链表的反转
来源:互联网 发布:淘宝买刺刀 编辑:程序博客网 时间:2024/05/16 10:22
LinkedList ReverseList(Node *head){ Node *NewHead = NULL; Node *p1, *p2, *tmp; if(head == NULL) return NULL; if(head) { p1 = head; p2 = head->next; } while(p2) { tmp = p2->next; p2->next = p1; p1 = p2; p2 =tmp; } head->next = NULL; NewHead = p1; return NewHead;}
还有一种方法:
就是新建一个头结点,头结点的next指向NULL,每次在新建头结点和头结点的next之间插入结点,一直这样...
/*struct ListNode {int val;struct ListNode *next;ListNode(int x) :val(x), next(NULL) {}};*/class Solution {public: ListNode* ReverseList(ListNode* pHead) {ListNode *head = (ListNode*)malloc(sizeof(ListNode)); ListNode *p; head->next = NULL; while(pHead){ p = pHead; pHead = pHead->next; p->next = head->next; head->next = p; } return head->next; }};
0 0
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- 链表的反转
- HDU - 5479 Scaena Felix (栈模拟)水
- c++中union的使用,看高手们如何解释的
- 【念同学的水题之背包问题(一)01背包】 其实是自己关于背包问题的一个总结。(更新中)
- initialize
- lightoj 1033 - Generating Palindromes(区间dp)
- 链表的反转
- Android开发:最详细的 Toolbar 开发实践总结
- IOS CGAffineTransform 用于视图平移,缩放,旋转
- 读书笔记--《高效能程序员的修炼》
- 11. Container With Most Water
- MonoBehaviour lifecycle and leaks explained
- 开源网络准入系统(open source Network Access Control system)
- poj-2388-Who's in the Middle
- Android 入门ListView 的基本使用,BaseAdapter的编写