給定乙個二叉樹,找出所有路徑中各節點相加總和等於給定 目標值 的路徑。
乙個有效的路徑,指的是從根節點到葉節點的路徑。
給定乙個二叉樹,和 目標值 = 5:
1
/ \
2 4
/ \
2 3
返回:[
[1, 2, 2],
[1, 4]
]這個題目是二叉樹的遍歷問題,由於是從根節點出發的路徑,所以用先序遍歷。。並且維護從當前節點到根節點的所有累加和以及節點資料。。。
/**
* definition of treenode:
* public class treenode
* }*/public
class
solution
arraylistpath = new arraylist<>();
path.add(root.val);
helper(root, path, results, target, root.val);
return results;
}private
void
helper(treenode root,
arraylistpath,
arraylist> results,
int target,
int sum)
return;
}//go left
if (root.left != null)
//go right
if (root.right != null)
}}
典型的dfs結構,path.remove(path.size() - 1)是用來恢復現場
的,與求所有的子集那題所用到的變數和dfs思路類似。。 二叉樹路徑和
二叉樹中和為某一值的路徑 輸入一棵二叉樹和乙個整數,列印出二叉樹中節點值的和為輸入整數的所有路徑。從樹的根節點開始往下一直到葉節點所經過的節點形成一條路徑。示例 給定如下二叉樹,以及目標和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 definition of treenode class treenode class solution...
二叉樹的路徑和
一 問題描述 給定乙個二叉樹,找出所有路徑中各節點相加總和等於給定目標值的路徑。乙個有效的路徑,指的是從根節點到葉節點的路徑。樣例 給定乙個二叉樹,和目標值 5 1 2 4 2 3 返回 1,2,2 1,4 二 解題思路 設定vector向量儲存當前的路徑v,若當前路徑和等於目標值,則儲存進去,所以...