leetcode117. 填充每個節點的下一個右側節點指針 II(dfs)

給定一個二叉樹

struct Node {
int val;
Node *left;
Node *right;
Node *next;
}
填充它的每個 next 指針,讓這個指針指向其下一個右側節點。如果找不到下一個右側節點,則將 next 指針設置為 NULL。

初始狀態下,所有 next 指針都被設置為 NULL。

進階:

你只能使用常量級額外空間。
使用遞歸解題也符合要求,本題中遞歸程序占用的棧空間不算做額外的空間復雜度。

class Solution {public Node connect(Node root) {if(root==null) return root;if(root.left!=null){if(root.right!= null)root.left.next=root.right;else root.left.next=getNext(root.next);}if(root.right!=null)root.right.next=getNext(root.next);connect(root.right);connect(root.left);return root;}public Node getNext(Node root) {while (root!=null){if(root.left!=null)return root.left;if(root.right!=null)return root.right;root=root.next;}return null;}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/392933.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/392933.shtml
英文地址,請注明出處:http://en.pswp.cn/news/392933.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

cmd命令大全

遍歷當前盤所有文件 dir /ad/s/b ASSOC 顯示或修改文件擴展名關聯。ATTRIB 顯示或更改文件屬性。BREAK 設置或清除擴展式 CTRLC 檢查。BCDEDIT 設置啟動數據庫中的屬性以控制啟動加載。CACLS 顯示或修改文件的訪問控制列表(ACL)。CALL 從另一個批處理程序調用這一個。CD 顯示當…

mac web開發_如何設置Mac進行Web開發

mac web開發While you can build basic websites with nothing more than a text editor and browser, you may want to up your game by adding a JavaScript framework like React or Vue and useful tools like Git to your workflow.雖然可以只使用文本編輯器和瀏覽器來構建…

OpenGL研究3.0 多邊形區域填充

OpenGL研究3.0 多邊形區域填充 DionysosLai(906391500qq.com)2014-06-22 所謂多邊形區域填充。就是將多邊形內部區域,所有已相同色塊填充。注意:這里討論的多邊形是簡單多邊形(即不考慮諸如五角星這樣的相交多邊形)。簡單多邊形&a…

[轉]Android筆記:ScrollView嵌套ViewPager的滾動沖突解決方法

12345678910111213141516171819202122232425262728293031323334/*** 能夠兼容ViewPager的ScrollView * Description: 解決了ViewPager在ScrollView中的滑動反彈問題 */ public class ScrollViewExtend extends ScrollView { // 滑動距離及坐標 private float xDistance, yDista…

android tv 樂視手機,樂視超4系列原生Android TV分享

固件:Official USA Firmware:USA BIN Firmware 5.8.050S_1028://mega.nz/#F!7PhyDI6D!TnwNlMmWXosK1uCUdpyNGg[/url]USA ZIP Firmware 5.8.056S_0420 (OTA ZIP, must be flashed only after flashing the above bin)://drive.google.com/open?id1N9...rNHVB_-VPIad…

ping、網絡抖動與丟包

基本概念: ping: PING指一個數據包從用戶的設備發送到測速點,然后再立即從測速點返回用戶設備的來回時間。也就是俗稱的“網絡延遲” 一般以毫秒(ms)計算 一般PING在0~100ms都是正常的速度,不會有較為明顯的卡頓。 測試…

Webtask后端即服務:無服務器快速教程

查爾斯厄勒(Charles Ouellet) (By Charles Ouellet) The word serverless is buzzing through dozens of dev circles today.如今, 無服務器一詞正在數十個開發界中流行。 It has been for a while now.已經有一段時間了。 I’ve been meaning to exit my code ed…

leetcode145. 二叉樹的后序遍歷(dfs)

給定一個二叉樹&#xff0c;返回它的 后序 遍歷。示例:輸入: [1,null,2,3] 1\2/3 輸出: [3,2,1]class Solution {List<Integer> listnew ArrayList<>();public List<Integer> postorderTraversal(TreeNode root) {getPostorderTraversal(root);return list;…

[luoguP2801] 教主的魔法(二分 + 分塊)

傳送門 以為對于這類問題線段樹都能解決&#xff0c;分塊比線段樹菜&#xff0c;結果培訓完才知道線段樹是一種特殊的分塊方法&#xff0c;有的分塊的題線段樹不能做&#xff0c;看來分塊還是有必要學的。 對于這個題&#xff0c;先分塊&#xff0c;然后另開一個數組對于每個塊…

鴻蒙系統適配開發,捕獲科技擬建立鴻蒙開發組 為區塊鏈錢包客戶適配鴻蒙系統做籌備...

遭遇美國“實體清單”封殺的第85天&#xff0c;華為“鴻蒙”橫空出世&#xff01;8月9日下午&#xff0c;在華為全球開發者大會上&#xff0c;當余承東正式宣布鴻蒙系統(Harmony OS)發布的時候&#xff0c;全場掌聲雷動&#xff01;世界上第一個由中國企業自主研發的全平臺微內…

[arm驅動]linux內核中斷編程

第一部分獲取中斷(開啟硬件中斷)一、中斷的申請注銷: 1&#xff09;中斷的申請 12int request_irq(unsigned int irq, irq_handler_t handler, unsigned long irqflags, const char *devname, void *dev_id) 2)中斷的注銷 1void free_irq(unsigned int irq, void *dev_id) 3&am…

關于VCP(Virtual Com Port)拓展的調試經歷(一)

* The Overview 前日&#xff0c;接到老板部署的任務&#xff0c;將現有的基于STM32L151與L432的LoRaWAN程序中添加USB CDC(Communication Device Class)功能&#xff0c;并枚舉為VCP(Virtual Com Port)用以替代以往的串口打印。很疑惑為什么以前架構代碼的時候沒有添加進去。。…

leetcode701. 二叉搜索樹中的插入操作(dfs)

給定二叉搜索樹&#xff08;BST&#xff09;的根節點和要插入樹中的值&#xff0c;將值插入二叉搜索樹。 返回插入后二叉搜索樹的根節點。 輸入數據保證&#xff0c;新值和原始二叉搜索樹中的任意節點值都不同。注意&#xff0c;可能存在多種有效的插入方式&#xff0c;只要樹在…

三星s6 android 8.0,再見Android 8.0,三星s6全系列系統都停止了,第一代國王已經倒下了嗎?...

對于Android用戶而言&#xff0c;最令人興奮的事情是系統更新&#xff0c;因為該更新意味著更流暢的體驗和更加用戶友好的功能. 但是&#xff0c;舊的三星S6并不是那么幸運&#xff0c;并且不再錯過Android 8.0.三星s6的全系列指的是三星s6&#xff0c;三星s6 edge&#xff0c;…

devise tree_Devise如何確保您的Rails應用密碼安全

devise treeby Tiago Alves由蒂亞戈阿爾維斯(Tiago Alves) Devise如何確保您的Rails應用密碼安全 (How Devise keeps your Rails app passwords safe) Devise is an incredible authentication solution for Rails with more than 40 million downloads. However, since it ab…

Exchange 2010無法安裝問題解決方法

當你在活動目錄(AD)森林中安裝多臺全局編錄服務器(GC)之后,默認情況下你會發現在AD站點里面自動生成二條站點連接,從上面的截圖可以看到目前在AD森林的Default-First-Site-Name(默認站點)里面有6臺GC。 從上面的截圖可以看到目前只有一臺叫做Sh-Site1GC(全局編錄服務器)是處于運…

android edittext 不滾動,EditText 設置可以垂直滑動但是不可輸入

一、前言&#xff1a;android:id"id/edtInput"android:layout_width"match_parent"android:layout_height"60dp"android:background"drawable/round_theme_3_gray"android:gravity"top"android:hint"string/please_inp…

snmpd修改端口

http://blog.csdn.net/cau99/article/details/5077239 http://blog.csdn.net/gua___gua/article/details/48547701轉載于:https://www.cnblogs.com/diyunpeng/p/6829592.html

leetcode LCP 19. 秋葉收藏集(dp)

小扣出去秋游&#xff0c;途中收集了一些紅葉和黃葉&#xff0c;他利用這些葉子初步整理了一份秋葉收藏集 leaves&#xff0c; 字符串 leaves 僅包含小寫字符 r 和 y&#xff0c; 其中字符 r 表示一片紅葉&#xff0c;字符 y 表示一片黃葉。 出于美觀整齊的考慮&#xff0c;小扣…

步進電機 步距角 編碼器_我如何邁出了學習編碼的第一步

步進電機 步距角 編碼器A couple of months ago, I was chatting to a developer at work about how I’ve always wanted to learn to code but never tried.幾個月前&#xff0c;我正在與一個開發人員聊天&#xff0c;討論我一直想學習編碼但從未嘗試過的方法。 Coding alwa…