二叉樹的路徑和

2021-07-30 15:58:33 字數 876 閱讀 3331

一、問題描述

給定乙個二叉樹,找出所有路徑中各節點相加總和等於給定目標值的路徑。

乙個有效的路徑,指的是從根節點到葉節點的路徑。 樣例

給定乙個二叉樹,和目標值 = 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...