1.描述
給一棵二叉樹,找出從根節點到葉子節點的所有路徑。
哪家公司問你的這個題?
樣例 給出下面這棵二叉樹:
1
/ \
2 3
\ 5
所有根到葉子的路徑為:
[
"1->2->5",
"1->3"
]
2.分析
首先需要找到葉子節點,從根節點到任乙個葉子節點中間的路徑都是乙個string,當遍歷到當前節點不是
葉子節點時,把當前節點加入string中,之後繼續往下遍歷直到到達葉子節點把這一條路徑存入vector中。
3.**
/*** definition of treenode:
* class treenode
* }*/
class solution
string t;
if(root->left!=null)//若左子樹不為空,把左子樹的節點加入到路徑t中
if(root->right!=null)//若右子樹不為空,把右子樹的節點加入到路徑t中
}vectorbinarytreepaths(treenode* root)
};4.總結
關於這類深度路徑的題目都需要先找到葉子節點,從根節點到葉子節點的路徑是通過
遍歷每乙個節點得到的,若當前節點不是葉子節點把他加入路徑中,若是,則該條路徑
遍歷結束存入vector中。
LintCode 二叉樹的所有路徑
二叉樹的所有路徑 給一棵二叉樹,找出從根節點到葉子節點的所有路徑。樣例 給出下面這棵二叉樹 1 2 3 5 所有根到葉子的路徑為 1 2 5 1 3 definition of treenode public class treenode public class solution public v...
LintCode 二叉樹的所有路徑
題目描述 給一棵二叉樹,找出從根節點到葉子節點的所有路徑。樣例 給出下面這棵二叉樹 1 2 3 5所有根到葉子的路徑為 1 2 5 1 3 做題思路 題目要求在輸出時,陣列中輸出的是一串路徑,所以,在類內呼叫已寫的遞迴函式,對遞迴函式進行編寫 定義樹的結點 陣列物件和字串。如果左子樹和右子樹都為空,...
Lintcode 二叉樹的所有路徑
給一棵二叉樹,找出從根節點到葉子節點的所有路徑。yes樣例給出下面這棵二叉樹 1 2 3 5所有根到葉子的路徑為 1 2 5 1 3 思路 一般二叉樹的問題用遞迴解決比較簡潔。這裡其實是先序遍歷 在庫檔案string中,to string int value 是把乙個整數轉換為字串 兩個字串使用 連...