1.給定乙個二叉樹和乙個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。(存在路徑就返回true)
說明: 葉子節點是指沒有子節點的節點。
示例:給定如下二叉樹,以及目標和 sum = 22,
5
/ \4 8
/ / \
11 13 4
/ \ \
7 2 1
返回 true, 因為存在目標和為 22 的根節點到葉子節點的路徑
遞迴
class solution
}
迭代
class solution
if (node.left != null)
}return false;
}}
2.給定乙個二叉樹和乙個目標和,找到所有從根節點到葉子節點路徑總和等於給定目標和的路徑(到葉子結點和為sum的路徑結果集)
說明: 葉子節點是指沒有子節點的節點。
示例:給定如下二叉樹,以及目標和 sum = 22,
5
/ \4 8
/ / \
11 13 4
/ \ / \
7 2 5 1
返回:
[[5,4,11,2],
[5,8,4,5]
]回溯遞迴
class solution
else
}cur.add(root.val);
help(root.left,cur,sum-root.val);
help(root.right,cur,sum-root.val);
cur.removelast();//回溯
}public list> pathsum(treenode root, int sum)
}
112 113 路徑總和
遞迴,終止條件為當左節點為空 右為空且sum減去當前節點的值為0是,才返回true 和112題類似,只不過在dfs時要記錄每乙個路徑 class solution object def pathsum self,root,sum res if not root return def helper r...
112 113 路徑總和
給定乙個二叉樹和乙個目標和,找到所有從根節點到葉子節點路徑總和等於給定目標和的路徑。說明 葉子節點是指沒有子節點的節點。給定如下二叉樹,以及目標和 sum 22,5 48 11134 7251 題目112返回示例 返回 true 因為存在目標和為 22 的根節點到葉子節點的路徑 5 4 11 2。題...
25 路徑總和
題目描述 我的思路 首先檢視的是根節點,然後用num 根節點的值,並且要考慮到節點是否為空 需要注意的是這裡的遞迴要注意,二叉樹基本都是遞迴來實現 再一次使用遞迴 public static boolean haspathsum treenode root,int sum else return h...