問題描述:給一棵二叉樹,找出從根節點到葉子節點的所有路徑。樣例
給出下面這棵二叉樹:
所有根到葉子的路徑為:1
/ \
2 3
\ 5
[
"1->2->5",
"1->3"
]
思路:因為返回型別是vector,故需要建立新的函式而且需要將root的val型別轉換為string型別,用到函式to_string(int)。
兩個字串使用「+」連線,是字串的無空格連線。
遞迴過程:如果左右子樹都為空,則將根節點的值放到陣列中,輸出;
如果左子樹非空,則將路徑的節點放入字串輸出,右子樹同理;最後將陣列輸出。
先左子樹後右子樹。
**:
感想:開始時因為看的是課件上的程式,因為資料型別的問題一直出錯,後來在網上找到這個比較容易懂。/**
* definition of treenode:
* class treenode
* }*/class solution
void binarytreepathcore(treenode *root,vector&path,string strpath)
if(root->left!=null)
binarytreepathcore(root->left,path,strpath+"->"+to_string(root->left->val));
if(root->right!=null)
binarytreepathcore(root->right,path,strpath+"->"+to_string(root->right->val));
}};
二叉樹的所有路徑
一 問題描述 給一棵二叉樹,找出從根節點到葉子節點的所有路徑。樣例 給出下面這棵二叉樹 1 2 3 5 所有根到葉子的路徑為 1 2 5 1 3 二 解題思路 運用遞迴的思想查詢二叉樹的所有路徑,定義乙個向量用來儲存路徑,然後運用前序遍歷二叉樹,返回查詢的的路徑,在庫檔案string中,to str...
二叉樹的所有路徑
描述 給一棵二叉樹,找出從根節點到葉子節點的所有路徑。樣例 給出下面這棵二叉樹 1 2 3 5 所有根到葉子的路徑為 1 2 5 1 3 解題思路 要找到二叉樹的所有路徑,就相當於從根節點出發一直到葉子節點。我們可以在遍歷的基礎之上完成這項操作,但是又有所不同。首先從根節點出發,先遍歷它的左子樹,直...
二叉樹的所有路徑
問題描述 給一棵二叉樹,找出從根節點到葉子節點的所有路徑。樣例 給出下面這棵二叉樹 1 2 3 5所有根到葉子的路徑為 1 2 5 1 3 解題思路 若二叉樹不為空,將節點新增到向量中,左右子樹進行遞迴,通過函式呼叫然後輸出。definition of treenode class treenode...