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

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Leetcode 206. Reverse Linked List

2019-11-10 18:32:06
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

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. 先來(lái)iterative。iterative寫過(guò)幾次了,簡(jiǎn)單的就是用dummy,然后PRe,pnow,pnext三個(gè)指針不停移動(dòng),交換!寫完發(fā)現(xiàn),dummy都省了,直接三個(gè)指針移位和交換就搞定了! 3. 再來(lái)recursive: 這里寫圖片描述 x需要注意的是:代碼寫完后,檢查在結(jié)尾的地方,也就是鏈表兩頭是否因?yàn)樯倭藢?duì)指針清零等操作導(dǎo)致的cycle。如上圖,就是1->2之間的指針沒(méi)有清零,而2->1又建立起來(lái),于是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:沒(méi)有這一句,就cycle.加上這一句,就cycle free return newhead; }};
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 德阳市| 电白县| 高尔夫| 民和| 郁南县| 溆浦县| 正镶白旗| 郴州市| 札达县| 泸水县| 柳州市| 元阳县| 沂水县| 桃源县| 肥东县| 台东市| 防城港市| 穆棱市| 合山市| 永善县| SHOW| 布尔津县| 余庆县| 阿图什市| 镇平县| 舒城县| 星子县| 胶南市| 宜丰县| 石首市| 新泰市| 白沙| 荔浦县| 阳谷县| 清水县| 尤溪县| 济南市| 海门市| 惠东县| 湘潭县| 双牌县|