13,反转链表《剑指offer》
生活随笔
收集整理的這篇文章主要介紹了
13,反转链表《剑指offer》
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目:
輸入一個(gè)鏈表,反轉(zhuǎn)鏈表后,輸出鏈表的所有元素。
思路:
反轉(zhuǎn)鏈表,對(duì)于片段 1--->2--->3循環(huán)操作; 要反轉(zhuǎn)鏈表需要兩步:
一,將2->next指向1 (如果不保存3那么此時(shí)就丟失了對(duì)3的引用)
二,將鏈表往后移 即 : 1=2; 2=3;3=3->next
注意的點(diǎn):
一,首節(jié)點(diǎn)的next要指向NULL
二:鏈表的長(zhǎng)度可能小于3
代碼:
/* struct ListNode {int val;struct ListNode *next;ListNode(int x) :val(x), next(NULL) {} };*/ class Solution { public:ListNode* ReverseList(ListNode* pHead) {if(pHead==NULL) return NULL;ListNode* newHead;ListNode* p1=pHead;ListNode* p2=pHead->next;ListNode* p3; if(p2!=NULL){p3=p2->next;p1->next=NULL;p2->next=p1;while(p3!=NULL){p1=p2;p2=p3;p3=p3->next;p2->next=p1;}newHead=p2;}else{p1->next=NULL;newHead=p1;}return newHead;} };
轉(zhuǎn)載于:https://www.cnblogs.com/llauser/p/7516311.html
總結(jié)
以上是生活随笔為你收集整理的13,反转链表《剑指offer》的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Struts(六)
- 下一篇: 【DP】[NOI2013]书法家