国产探花免费观看_亚洲丰满少妇自慰呻吟_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; }};
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 镇赉县| 浏阳市| 平武县| 灵山县| 玉田县| 兴海县| 沙坪坝区| 福建省| 泽州县| 邵东县| 万盛区| 黔南| 裕民县| 大竹县| 崇文区| 井冈山市| 密云县| 栾川县| 高碑店市| 宝兴县| 顺义区| 庆安县| 吉隆县| 南华县| 洪江市| 安陆市| 滨海县| 西畴县| 高邮市| 敦煌市| 安义县| 兴安盟| 东光县| 揭西县| 七台河市| 津市市| 年辖:市辖区| 会泽县| 温泉县| 屏东市| 屏东市|