亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

Leetcode 114. Flatten Binary Tree to Linked List

2019-11-14 11:57:27
字體:
來源:轉載
供稿:網友

Given a binary tree, flatten it to a linked list in-place.

For example, Given

1 / / 2 5 / / / 3 4 6

The flattened tree should look like:

1 / 2 / 3 / 4 / 5 / 6

s思路: 1. 看起來,是先訪問中間,然后左邊,最后右邊。又是一個PRe-order. 2. 用recursive當然最簡單。左邊flatten,右邊flatten,然后讓root指向flatten后的左邊,讓flatten的左邊的尾節點指向flatten后的右邊。也就是說,在flatten過程中需要知道頭節點和尾節點的指針! 3. 由于要得到左子樹和右子樹的開頭結尾,所以需要開頭結尾指針從底層得到給上層使用,因此用reference! 4. 用iterative很有意思,用stack很麻煩,反而不用stack的morris比較方便快捷,由于是pre-order:根左右,傳統的方法,訪問了左邊還要回到根以便訪問右邊,所以必須用stack;morris則是換一個角度來看問題,把樹臨時改變一下結構:在每個root時,先找到左子樹的最右節點,然后讓這個最右節點指向右子樹的第一個節點,這就方便了,等訪問完左子樹,就直接訪問右節點! 這里寫圖片描述 z正常情況下使用morris,還需要在建立這個輔助的連接后拆除這個連接以還原樹的本來結構,但這道題就要求改變樹的結構,所以說,用morris剛剛好!

//方法1:recursive:pre-order。class Solution {public: void helper(TreeNode*& head,TreeNode*& tail) { // if(!head) return; TreeNode* h1=head->left,*h2=head->right; TreeNode* t1=NULL,*t2=NULL; helper(h1,t1); helper(h2,t2); if(!h1&&!h2){ tail=head; }else{ head->left=NULL; head->right=h1?h1:h2; if(h1) t1->right=h2; tail=h2?t2:t1; } } void flatten(TreeNode* root) { // TreeNode* tail=NULL; helper(root,tail); }};//方法2:iterative:用stack的方法很復雜。參考了網上的用o(1)的morris的方法://https://discuss.leetcode.com/topic/3995/share-my-simple-non-recursive-solution-o-1-space-complexityclass Solution {public: void flatten(TreeNode* root) { // TreeNode* cur=root; while(cur){ if(cur->left){ TreeNode* pre=cur->left; while(pre->right){ pre=pre->right; } pre->right=cur->right;//把左子樹和右子樹先連接起來,這樣就不用stack,聰明! cur->right=cur->left; cur->left=NULL; } cur=cur->right; } }};
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产视频精品一区二区三区| 久久男人的天堂| 亚洲人成在线免费观看| 国产精品日日做人人爱| 国产在线日韩在线| 欧美中文字幕在线播放| 亚洲精品99久久久久中文字幕| 富二代精品短视频| 久久久精品国产网站| 欧美在线一级va免费观看| 久久久久99精品久久久久| 国产精品三级在线| 亚洲精品一区av在线播放| 欧美一区二区视频97| 日韩精品极品视频免费观看| 国产一区二区激情| 高清亚洲成在人网站天堂| 日本一区二区在线免费播放| 欧美日韩中文字幕在线| 亚洲国产古装精品网站| 精品国产老师黑色丝袜高跟鞋| 国产精品成人品| 丁香五六月婷婷久久激情| 久久久精品一区二区三区| 亚洲嫩模很污视频| 日韩三级成人av网| 91精品久久久久久久久久入口| 91免费精品视频| 精品国偷自产在线视频| 久久五月天色综合| 中文字幕一区二区三区电影| 亚洲乱码国产乱码精品精| 欧美精品在线极品| 国产日韩欧美影视| 久久免费视频在线观看| 亚洲乱码国产乱码精品精| 国产精品www| 国内免费精品永久在线视频| 九九精品视频在线| 久久亚洲精品中文字幕冲田杏梨| 97精品欧美一区二区三区| 国产精品美女久久久免费| 亚洲系列中文字幕| 91精品国产91久久久| 97久久精品人人澡人人爽缅北| 69**夜色精品国产69乱| 日韩影视在线观看| 91在线观看免费高清| 美女视频黄免费的亚洲男人天堂| 亚洲天堂视频在线观看| 亚洲国产日韩欧美综合久久| 欧美一区第一页| 亚洲护士老师的毛茸茸最新章节| 国内精品久久久久久中文字幕| 中文字幕日韩av电影| 亚洲激情在线观看| 国产精品27p| 91美女福利视频高清| 91久久久久久国产精品| 91精品国产高清自在线看超| 欧美激情第1页| 亚洲国产精品久久久久久| 亚洲成人精品久久久| 在线播放国产精品| 欧美激情视频网址| zzjj国产精品一区二区| 亚洲一区二区三区四区视频| 欧美乱大交xxxxx另类电影| 亚洲欧美日韩图片| 91av在线播放视频| 欧美极品在线视频| 91免费国产视频| 久久久精品视频成人| 中文字幕av一区二区三区谷原希美| 亚洲精品免费网站| 成人国产亚洲精品a区天堂华泰| 欧洲成人在线观看| 国自产精品手机在线观看视频| 亚洲a级在线播放观看| 另类天堂视频在线观看| 久久精品国产久精国产一老狼| 欧美日韩免费观看中文| 久久影视电视剧免费网站| 在线中文字幕日韩| 中文字幕日韩在线观看| 国a精品视频大全| 日韩欧美在线字幕| 亚洲美女av黄| 精品久久久久久久久久国产| 日本伊人精品一区二区三区介绍| 琪琪第一精品导航| 久久综合伊人77777尤物| 2018中文字幕一区二区三区| 海角国产乱辈乱精品视频| 日韩精品高清视频| 亚洲a级在线播放观看| 日韩精品中文字幕久久臀| 国产男女猛烈无遮挡91| 欧美又大又粗又长| 国产伦精品一区二区三区精品视频| 777国产偷窥盗摄精品视频| 久久久久亚洲精品成人网小说| 97香蕉久久超级碰碰高清版| www亚洲精品| 国产精品美女久久久久av超清| 成年无码av片在线| 国产视频久久久久| 亚洲性视频网站| 在线播放日韩精品| 久久综合国产精品台湾中文娱乐网| 亚洲欧洲在线看| 国产在线久久久| 久久夜色精品亚洲噜噜国产mv| 欧美成人午夜免费视在线看片| 热99精品只有里视频精品| 久久夜色精品国产亚洲aⅴ| 69国产精品成人在线播放| 26uuu亚洲国产精品| 91精品国产综合久久久久久蜜臀| 中文字幕九色91在线| 国产精品露脸av在线| 欧美性xxxx18| 欧美成aaa人片在线观看蜜臀| 在线观看视频亚洲| 91精品在线一区| 色老头一区二区三区在线观看| 亚洲人成在线一二| 亚洲欧美国产日韩天堂区| 亚洲xxxx18| 疯狂做受xxxx欧美肥白少妇| 久久久伊人日本| 国产精品丝袜白浆摸在线| 欧美一区深夜视频| 性色av一区二区三区红粉影视| 国产一区视频在线| 国产精品视频999| 国产亚洲免费的视频看| 国产69久久精品成人看| 97精品伊人久久久大香线蕉| 欧美国产在线电影| 亚洲国产精品免费| 亚洲社区在线观看| 亚洲三级免费看| 欧美在线不卡区| 国产欧美精品一区二区三区介绍| 奇米4444一区二区三区| 亚洲精品xxx| 亚洲天堂男人的天堂| 中文字幕在线观看亚洲| www.欧美精品一二三区| 亚洲精品欧美极品| 亚洲国产毛片完整版| 亚洲精品久久久久中文字幕欢迎你| 综合激情国产一区| 国产一区香蕉久久| 亚洲成人精品久久久| 日韩av综合网站| 国产不卡在线观看| 欧美日韩亚洲精品一区二区三区| 国产精品网站入口| 91在线观看免费高清| 亚洲xxxx做受欧美| 亚洲国产精品高清久久久| 555www成人网|