二叉樹展開為連結串列
給你二叉樹的根結點 root ,請你將它展開為一個單連結串列:
展開後的單連結串列應該同樣使用 TreeNode ,其中 right 子指標指向連結串列中下一個結點,而左子指標始終為 null 。
展開後的單連結串列應該與二叉樹 先序遍歷 順序相同。
class Solution { public void flatten(TreeNode root) { if(root == null){ return; } TreeNode cur = root; while(cur != null){ if(cur.left != null){ TreeNode next = cur.left; TreeNode temp = next; while(temp.right != null){ temp = temp.right; } temp.right = cur.right; cur.left = null; cur.right = next; } cur = cur.right; } } }
更多建站及原始碼交易資訊請見 GoodMai
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70008684/viewspace-2839061/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- LeetCode-114-二叉樹展開為連結串列LeetCode二叉樹
- Hash連結串列轉換為紅黑樹,和樹轉換為連結串列的條件
- 二叉連結串列儲存結構、二叉樹相關操作二叉樹
- 【連結串列問題】打卡10:將搜尋二叉樹轉換成雙向連結串列二叉樹
- 面試題36:二叉搜尋樹與雙向連結串列面試題
- 反轉連結串列、合併連結串列、樹的子結構
- LeetCode系列之「有序連結串列轉換二叉搜尋樹」LeetCode
- 將二叉排序樹BST轉換成排序的雙向連結串列排序
- 微軟面試題,將二叉排序樹轉換成雙向連結串列微軟面試題排序
- LeetCode 109——有序連結串列轉化二叉搜尋樹LeetCode
- 466. 使用快慢指標把有序連結串列轉換二叉搜尋樹指標
- LeetCode-109-有序連結串列轉換二叉搜尋樹LeetCode
- 連結串列-雙向連結串列
- 連結串列-迴圈連結串列
- 連結串列面試題(二)---連結串列逆序(連結串列反轉)面試題
- [CareerCup] 4.4 Create List at Each Depth of Binary Tree 二叉樹的各層建立連結串列二叉樹
- [LeetCode] 1367. Linked List in Binary Tree 二叉樹中的連結串列LeetCode二叉樹
- 連結串列4: 迴圈連結串列
- 連結串列-單連結串列實現
- HDU 5444 Elven Postman (排序二叉樹 訪問路徑 陣列&&連結串列實現)Postman排序二叉樹陣列
- 【JavaScript】前端演算法題(重建二叉樹、反向輸出連結串列每個節點)JavaScript前端演算法二叉樹
- 連結串列入門與插入連結串列
- (連結串列)連結串列的排序問題排序
- 如何以及為什麼React Fiber使用連結串列遍歷元件樹React元件
- 連結串列
- 【LeetCode二叉樹#17】在二叉搜尋樹中插入或刪除某個值(涉及重構二叉樹、連結串列基礎、以及記憶體洩漏問題)LeetCode二叉樹記憶體
- javascript中的連結串列結構—雙向連結串列JavaScript
- 「譯」如何以及為什麼 React Fiber 使用連結串列遍歷元件樹React元件
- 判斷二叉樹是否為滿二叉樹二叉樹
- 根據一個輸入資料構造二叉樹和連結串列資料結構的方法(c++)二叉樹資料結構C++
- Leetcode_86_分割連結串列_連結串列LeetCode
- 【LeetCode】->連結串列->通向連結串列自由之路LeetCode
- (樹)根據排序陣列或者排序連結串列重新構建BST樹排序陣列
- php連結串列PHP
- 連結串列操作
- 連結串列逆序
- 2、連結串列
- 資料結構之樹結構概述(含滿二叉樹、完全二叉樹、平衡二叉樹、二叉搜尋樹、紅黑樹、B-樹、B+樹、B*樹)資料結構二叉樹