Leetcode 114.二叉樹展開為鏈表
二叉樹展開為鏈表
給定一個二叉樹,原地將它展開為鏈表。
例如,給定二叉樹
1
/ \
2 5
/ \ \
3 4 6
將其展開為:
1
\
2
\
3
\
4
\
5
\
6
1 class Solution{ 2 public: 3 void flatten(TreeNode* root){ 4 if (root == NULL) return; 5 flatten(root->left); 6 flatten(root->right); 7 TreeNode *temp = root->right;8 root->right = root->left; 9 root->left = NULL; 10 while (root->right) root = root->right; 11 root->right = temp; 12 } 13 }
Leetcode 114.二叉樹展開為鏈表
相關推薦
LeetCode 114. 二叉樹展開為鏈表(Flatten Binary Tree to Linked List)
tree binary ont 基本思想 oot public ike 返回 上一個 題目描述 給定一個二叉樹,原地將它展開為鏈表。 例如,給定二叉樹 1 / 2 5 / \ 3 4 6 將其展開為: 1 2 3
Leetcode 114.二叉樹展開為鏈表
color ont return item href spa node nbsp 二叉樹 二叉樹展開為鏈表 給定一個二叉樹,原地將它展開為鏈表。 例如,給定二叉樹 1 / \ 2 5 / \ \ 3 4 6 將其展開為: 1 \ 2 \
[leetcode] 114. 二叉樹展開為連結串列
114. 二叉樹展開為連結串列 這個題描述不清啊 一開始看描述每太明白題意,對著給出的樣例做的 實際上就是: 將右子樹接到左子樹的最右邊的葉子節點上 將左子樹接到root的右兒子上 把root的左兒子置空 class Solution { public void
Leetcode:114. 二叉樹展開為連結串列
給定一個二叉樹,原地將它展開為連結串列。 例如,給定二叉樹 1 / \ 2 5 / \ \ 3 4 6 將其展開為: 1 \ 2 \ 3 \ 4 \ 5 \
Leetcode 114. 二叉樹展開為連結串列 C++
文章目錄 題目描述 遞迴法 方法一 方法二 非遞迴法 題目描述 遞迴法 方法一 這種方法,不太容易理解。第一步就是遞迴,後面才是對基本情況的處理。通過遞迴,直接
LeetCode-114.二叉樹展開為連結串列(相關話題:深度優先)
給定一個二叉樹,原地將它展開為連結串列。 例如,給定二叉樹 1 / \ 2 5 / \ \ 3 4 6 將其展開為: 1 \ 2 \ 3 \ 4 \ 5
leetcode 114. 二叉樹展開為連結串列(Flatten Binary Tree to Linked List)
給定一個二叉樹,原地將它展開為連結串列。 例如,給定二叉樹 1 / \ 2 5 / \ \ 3 4 6 將其展開為: 1 \ 2 \ 3 \ 4 \ 5
Leetcode 114.二叉樹展開為連結串列
二叉樹展開為連結串列 給定一個二叉樹,原地將它展開為連結串列。 例如,給定二叉樹 1 / \ 2 5 / \ \ 3 4 6 將其展開為: 1 \ 2 \ 3 \ 4 \ 5 \ 6
【LeetCode 中等題】54-二叉樹展開為連結串列
題目描述:給定一個二叉樹,原地將它展開為連結串列。 例如,給定二叉樹 1 / \ 2 5 / \ \ 3 4 6 將其展開為: 1 \ 2 \ 3 \ 4 \ 5
劍指offer---二叉樹和雙向鏈表
劍指offer 中序 logs style nbsp return public void cnblogs //肯定是要用中序遍歷。。。可是開始不怎麽會弄 //為什麽這麽菜 /* struct TreeNode { int val; struct Tr
根據廣義表建立對應二叉樹(子女兄弟鏈表表示)並由二叉樹輸出對應廣義表(子女兄弟鏈表表示)的C++非遞歸實現
ios blog null new 根節點 span name creat nullptr 根據輸入的廣義表建立子女右兄弟鏈的二叉樹表示,該二叉樹對應於廣義表對應的普通樹。先考慮更復雜的情形,如果廣義表中存在共享表,則將其轉換為帶共享子樹的二叉樹表示,每一共享子樹帶有附加頭
453 將二叉樹拆成鏈表
ren his flat AD per tro header not scrip 原題網址:https://www.lintcode.com/problem/flatten-binary-tree-to-linked-list/description 描述 將一棵
二叉樹與雙向鏈表的轉換
算法 tac des 二叉 輸出 遞歸算法 || 中序遍歷 ack 題目描述 輸入一棵二叉搜索樹,將該二叉搜索樹轉換成一個排序的雙向鏈表。要求不能創建任何新的結點,只能調整樹中結點指針的指向。 分析:二叉搜索樹要轉成有序的鏈表,可以想到的是利用中序遍歷二叉樹,每得到一
【資料結構週週練】014 利用棧和非遞迴演算法求鏈式儲存的二叉樹是否為完全二叉樹
一、前言 首先,明天是個很重要的節日,以後我也會過這個節日,在這裡,提前祝所有程式猿們,猿猴節快樂,哦不,是1024程式設計師節快樂。 今天要給大家分享的演算法是判斷二叉樹是否為完全二叉樹,相信大家對完全二叉樹的概念並不陌生,如果是順序儲存就會很方便,那鏈式儲存怎麼判斷呢,我的做法是:若
leeetcode 114 將二叉樹展開成連結串列
給定一個二叉樹,原地將它展開為連結串列。 思路是先利用DFS的思路找到最左子節點,然後回到其父節點,把其父節點和右子節點斷開,將原左子結點連上父節點的右子節點上,然後再把原右子節點連到新右子節點的右子節點上,然後再回到上一父節點做相同操作。 public void flatten(TreeN
Leetcode 863--二叉樹中所有距離為 K 的結點
oot 底層 leetcode back != void sta 效率 target 首先找到每個節點的父節點,利用map存儲(map底層用紅黑樹實現,所以查找效率也高),這種方法客服了二叉樹只能找到自己的兒子的缺點。 然後用dfs搜索的方法尋找目標節點。 代碼如下: cl
[LeetCode] Flatten Binary Tree to Linked List 將二叉樹展開成連結串列
Given a binary tree, flatten it to a linked list in-place. For example,Given 1 / \ 2 5 / \ \ 3 4 6
每天一道LeetCode-----找到二叉樹所有和為給定值的路徑
Path Sum 判斷二叉樹中有沒有一條從根節點到葉子節點的路徑元素和為給定值 只需要遍歷所有路徑即可,需要注意的是對葉子節點的判斷,需要滿足左右兩個節點都是空的條件時才為葉子節點 程式碼如下 /** * Definition for a
【LeetCode & 劍指offer刷題】樹題9:34 二叉樹中和為某一值的路徑(112. Path Sum)
【LeetCode & 劍指offer 刷題筆記】目錄(持續更新中...) 112. Path Sum Given a binary tree and a sum, determine if the tree has a root-to-leaf path suc
LeetCode 863. 二叉樹中所有距離為 K 的結點
最近刷LeetCode題目的一些思路,題目資訊給定一個二叉樹(具有根結點 root), 一個目標結點 target ,和一個整數值 K 。返回到目標結點 target 距離為 K 的所有結點的值的列表。 答案可以以任何順序返回。示例 1:輸入:root = [3,5,1,6,