二叉樹是否存在節點和為指定值的路徑 路徑總和

2022-10-10 21:03:17 字數 1294 閱讀 4491

題目:給定乙個二叉樹和乙個值sum,判斷是否有從根節點到葉子節點的節點值之和等於sum 的路徑,

例如:給出如下的二叉樹,sum=22

返回true,因為存在一條路徑5→4→11→2的節點值之和為 22

思路:回溯演算法是深度優先搜尋的一種

**:

1/*2

* function treenode(x) 7*/

89/**

10*

11* @param root treenode類

12* @param sum int整型

13* @return bool布林型

14*/

15function

haspathsum( root , sum )

22return dfs(root.left, sum - root.val) || dfs(root.right, sum -root.val);23}

24return

dfs(root, sum)25}

26 module.exports =;

1/**

2* definition for a binary tree node.

3* function treenode(val, left, right) 8*/

910/**

11* @param root

12* @param targetsum

13* @return

14*/

15 const pathsumsolu = (node, target, stack, sum, res) =>

25//

如果存在左節點,繼續遍歷左子樹

26if

(node.left)

29//

如果存在右節點,繼續遍歷右子樹

30if

(node.right)

33//

如果不存在左右節點,表明已到達葉子節點,向上回溯。stack彈出乙個節點

34stack.pop();

35};

36var pathsum = function

(root, targetsum)

41return

res;

42 };

二叉樹是否存在節點和為指定值的路徑

題目描述 給定乙個二叉樹和乙個值sum,判斷是否有從根節點到葉子節點的節點值之和等於um 的路徑,例如 給出如下的二叉樹,sum 22,返回true,因為存在一條路徑 5 4 11 25 4 11 2的節點值之和為 22 示例1輸入 0返回值 false 示例2輸入 3返回值 true 思路描述 分...

二叉樹是否為完全二叉樹

單鏈表查詢倒數第k的結點 下圖判斷是否二叉樹 假設圖中三個二叉樹的黃顏色部分沒有,各樹的名稱就是圖上所標。首先由要求,需要層序遍歷,層序遍歷會使用到佇列。要判斷乙個二叉樹是否為完全二叉樹,首先需要找到臨界點,比如此二叉樹c結點。如果c結點沒有左右孩子,現在就要判斷,b的左右孩子d和e,只要d和e至少...

二叉樹 判斷二叉樹是否為完全二叉樹

問題描述 判斷一棵二叉樹是否為完全二叉樹。知識點 完全二叉樹是指除二叉樹的最後一層外,其他各層的節點數達到最大個數,且最後一層的葉節點從左到右連續存在,只缺右側若干節點。演算法實現 class node is complete binary tree public static boolean is...