一、問題描述
給定乙個二叉樹,找出所有路徑中各節點相加總和等於給定目標值
的路徑。
乙個有效的路徑,指的是從根節點到葉節點的路徑。 樣例
給定乙個二叉樹,和目標值 = 5
:
1
/ \2 4
/ \2 3
返回:
[
[1, 2, 2],
[1, 4]
]
二、解題思路
設定vector向量儲存當前的路徑v,若當前路徑和等於目標值,則儲存進去,所以我們要定義乙個find函式,當路徑和等於目標值且左右子樹都為空時,把當前的v儲存進去,當左子樹或右子樹不為空時,繼續查詢,直到路徑和等於目標值,此外還要注意查詢完一條路徑,v要清空,路徑和s也隨著路徑的變化而變化。
三、我的**
class solution
void find(treenode *root,int target,vectorv,int s)
if(root->left!=null)
if(root->right!=null)
s=s-root->val;
v.pop_back();}}
};四、我的感想
繼上次課之後,老師講過求所有路徑,大概對怎麼樣求路徑有乙個了解,求二叉樹的路徑和也與其類似,只要找到路徑和與目標值相等的路徑即可,在這過程中也遇到了很多困難,因一些錯誤老是出現run time error,還是因為自己不夠熟練,知識掌握太少,以後要更加努力了。
二叉樹路徑和
二叉樹中和為某一值的路徑 輸入一棵二叉樹和乙個整數,列印出二叉樹中節點值的和為輸入整數的所有路徑。從樹的根節點開始往下一直到葉節點所經過的節點形成一條路徑。示例 給定如下二叉樹,以及目標和sum 22,5 4 8 11 13 4 7 2 5 1返回 5,4,11,2 5,8,4,5 public l...
二叉樹的路徑和
給定乙個二叉樹,找出所有路徑中各節點相加總和等於給定 目標值 的路徑。乙個有效的路徑,指的是從根節點到葉節點的路徑。給定乙個二叉樹,和 目標值 5 1 2 4 2 3 返回 1,2,2 1,4 這個題目是二叉樹的遍歷問題,由於是從根節點出發的路徑,所以用先序遍歷。並且維護從當前節點到根節點的所有累加...
二叉樹的路徑和
給定乙個二叉樹,找出所有路徑中各節點相加總和等於給定目標值的路徑。乙個有效的路徑,指的是從根節點到葉節點的路徑。樣例 給定乙個二叉樹,和 目標值 5 1 2 4 2 3 返回 1,2,2 1,4 definition of treenode class treenode class solution...