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

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

Leetcode 206. Reverse Linked List

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

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; }};
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 华坪县| 浦北县| 上饶市| 武乡县| 扶余县| 都兰县| 武隆县| 太保市| 浦东新区| 河南省| 宁海县| 弥勒县| 汽车| 基隆市| 抚顺县| 瑞金市| 射阳县| 晋州市| 崇文区| 吴忠市| 宝应县| 逊克县| 武清区| 古浪县| 青州市| 阳东县| 伊吾县| 漠河县| 沙洋县| 仪陇县| 司法| 略阳县| 磐石市| 灵丘县| 平山县| 广汉市| 连南| 金溪县| 会东县| 凤翔县| 淳安县|