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

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Leetcode 206. Reverse Linked List

2019-11-09 20:44:16
字體:
供稿:網(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. 先來iterative。iterative寫過幾次了,簡單的就是用dummy,然后PRe,pnow,pnext三個指針不停移動,交換!寫完發(fā)現(xiàn),dummy都省了,直接三個指針移位和交換就搞定了! 3. 再來recursive: 這里寫圖片描述 x需要注意的是:代碼寫完后,檢查在結(jié)尾的地方,也就是鏈表兩頭是否因為少了對指針清零等操作導(dǎo)致的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; }};
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 喀喇| 蒙山县| 孝感市| 吉隆县| 斗六市| 北辰区| 西和县| 白玉县| 四平市| 洛南县| 郓城县| 宁强县| 西平县| 理塘县| 嘉鱼县| 绵竹市| 甘德县| 高清| 赤峰市| 博爱县| 孟州市| 昌平区| 蒙山县| 教育| 莱州市| 乳山市| 临汾市| 洱源县| 上饶市| 方正县| 大冶市| 包头市| 兴国县| 越西县| 屯门区| 长乐市| 汝州市| 宣城市| 天镇县| 两当县| 建湖县|