麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發(fā)設計 > 正文

Leetcode 117. Populating Next Right Pointers in Each Node II

2019-11-14 10:55:36
字體:
來源:轉載
供稿:網(wǎng)友

Follow up for PRoblem “Populating Next Right Pointers in Each Node”.

What if the given tree could be any binary tree? Would your previous solution still work?

Note:

You may only use constant extra space. For example, Given the following binary tree,

1 / / 2 3 / / /4 5 7

After calling your function, the tree should look like:

1 -> NULL / / 2 -> 3 -> NULL / / /4-> 5 -> 7 -> NULL

s思路: 1. o(1)的空間,注定只能用iterative的方法了。參考https://discuss.leetcode.com/topic/1106/o-1-space-o-n-complexity-iterative-solution/6 2. 由于不規(guī)則的樹結構,所以需要用pre,cur來找到新的連接關系的兩端;還需要一個head表示每層的起點。三個指針的interplay在代碼里面寫得很清楚。每次把head賦給cur,然后根據(jù)cur->left、cur->right是否存在來更新連接:如果cur->left存在,又看pre是否已經(jīng)存在:不存在則這個節(jié)點就是head,且pre=cur->left;存在則就把這個節(jié)點作為pre的next;對cur->right也同樣判斷。 3. 多體會!

//class Solution {public: void connect(TreeLinkNode *root) { // TreeLinkNode* horizon=NULL,*vertical=root; TreeLinkNode* head=root,*cur=NULL,*pre=NULL; while(head){ cur=head; pre=NULL; head=NULL; while(cur){ if(cur->left){ if(!pre){ head=cur->left; pre=head; }else{ pre->next=cur->left; pre=pre->next; } } if(cur->right){ if(!pre){ head=cur->right; pre=head; }else{ pre->next=cur->right; pre=pre->next; } } cur=cur->next; } } }};
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 看免费5xxaaa毛片 | 成人综合在线观看 | 蜜桃一本色道久久综合亚洲精品冫 | omofun 动漫在线观看 | 久久爽久久爽久久av东京爽 | 国产一级桃视频播放 | 亚洲国产精品久久久久制服红楼梦 | 日本高清黄色片 | 91av大片 | 久久超| 视频一区二区在线观看 | 中国hdxxxx护士爽在线观看 | 超碰97人人艹 | 毛片视频大全 | 国产精品久久久久免费视频 | 欧美精品成人 | 中文区永久区 | 成人一级黄色片 | a一级黄| 亚洲视屏 | 国内精品久久久久久久久久久久 | 国产成人免费高清激情视频 | 宅男噜噜噜66国产免费观看 | 热99re久久免费视精品频软件 | 久久九九热re6这里有精品 | 毛片网站视频 | 精品一区二区三区免费 | 久久黄色影院 | 国产亚洲精品久久久闺蜜 | 性欧美日本 | 91福利社在线 | 91久久国产综合久久91精品网站 | 青青青在线免费 | 天天色综合2 | 国产午夜亚洲精品理论片大丰影院 | 亚洲成人在线视频网 | 在线看免费观看av | 中文字幕在线日韩 | 日美黄色片 | 一级免费黄视频 | 精品一区二区久久久久久按摩 |