路徑總和 二叉樹 DFS

2021-10-16 17:03:15 字數 752 閱讀 7874

給定乙個二叉樹和乙個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。

說明: 葉子節點是指沒有子節點的節點。

示例: 

給定如下二叉樹,以及目標和 sum = 22,

返回 true, 因為存在目標和為 22 的根節點到葉子節點的路徑 5->4->11->2

從根節點開始遍歷每個節點,每次遞迴將此根節點和前面路徑的節點傳入,然後當時葉子結點時判斷總路徑是否相等。

/**

* definition for a binary tree node.

* struct treenode

* };

*/class solution

//判斷路徑和是否相等,並且判斷是否為葉子結點

if (root->val + n == num && root->left == null && root->right == null)

//遞迴遍歷每個節點

path(root->left, root->val + n);

path(root->right, root->val + n);

}bool haspathsum(treenode* root, int sum)

if (root == null && sum != 0)

num = sum;

path(root, 0);

return jud;

}};

二叉樹路徑總和

給定乙個二叉樹和乙個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和 sum 22,5 4 8 11 13 4 7 2 1 返回 true,因為存在目標和為 22 的根節點到葉子節點的路徑 5 ...

二叉樹的路徑總和

給定乙個二叉樹和乙個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和 sum 22,5 4 8 11 13 4 7 2 1返回 true,因為存在目標和為 22 的根節點到葉子節點的路徑 5 4...

二叉樹的路徑總和

definition for a binary tree node.struct treenode 給定乙個二叉樹和乙個目標和,找到所有從根節點到葉子節點路徑總和 等於給定目標和的路徑。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和 sum 22,5 4 8 11 13 4 7...