国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Leetcode 206. Reverse Linked List

2019-11-09 20:55:11
字體:
來源:轉載
供稿:網友

Reverse a singly linked list. Hint: A linked list can be reversed either iteratively or recursively. Could you implement both?

s思路: 1. 要求iterative和recursive. 2. 先來iterative。iterative寫過幾次了,簡單的就是用dummy,然后PRe,pnow,pnext三個指針不停移動,交換!寫完發現,dummy都省了,直接三個指針移位和交換就搞定了! 3. 再來recursive: 這里寫圖片描述 x需要注意的是:代碼寫完后,檢查在結尾的地方,也就是鏈表兩頭是否因為少了對指針清零等操作導致的cycle。如上圖,就是1->2之間的指針沒有清零,而2->1又建立起來,于是cycle!

//方法1:iterative.搞了半天,居然都不用加dummy。直接返回尾指針!class Solution {public: ListNode* reverseList(ListNode* head) { /*ListNode node(0); ListNode* dummy=&node; dummy->next=head;*/ ListNode* pre=NULL,*pnow=head,*pnext=NULL; while(pnow){ pnext=pnow->next; pnow->next=pre; if(!pnext) return pnow; pre=pnow; pnow=pnext; } return NULL; }};//方法2:recursive:class Solution {public: ListNode* reverseList(ListNode* head) { if(!head) return NULL; if(!head->next) return head; ListNode* tail=head->next; ListNode* newhead=reverseList(head->next); tail->next=head; head->next=NULL;//bug:沒有這一句,就cycle.加上這一句,就cycle free return newhead; }};
上一篇:poj1961

下一篇:SPOJ 694&&705

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 循化| 双柏县| 莎车县| 金门县| 平乐县| 肇庆市| 阜城县| 永州市| 沂水县| 旌德县| 唐海县| 山西省| 惠安县| 大新县| 淮阳县| 全州县| 景德镇市| 红原县| 潞西市| 崇左市| 吕梁市| 玉树县| 景洪市| 青岛市| 弥渡县| 尼勒克县| 龙山县| 高唐县| 安丘市| 临高县| 兴山县| 莒南县| 稷山县| 尉犁县| 荥经县| 沅陵县| 雷山县| 博野县| 河源市| 香格里拉县| 遂溪县|