国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 介休市| 云龙县| 鄄城县| 米易县| 南川市| 远安县| 浙江省| 巫山县| 云霄县| 梨树县| 焦作市| 兴宁市| 三原县| 图片| 南平市| 富锦市| 香河县| 石泉县| 廉江市| 泉州市| 威信县| 南通市| 怀仁县| 九龙县| 柳林县| 沙坪坝区| 通海县| 阜平县| 怀宁县| 武宁县| 和林格尔县| 武强县| 黔南| 荔波县| 石屏县| 苏州市| 饶平县| 永和县| 武陟县| 江都市| 武宁县|