題目:給定乙個二叉樹和乙個值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...