給定乙個二叉樹和乙個目標和,找到所有從根節點到葉子節點路徑總和等於給定目標和的路徑。
說明: 葉子節點是指沒有子節點的節點。
示例:
給定如下二叉樹,以及目標和 sum = 22,
5/ \
4 8
/ / \
11 13 4
/ \ / \
7 2 5 1
返回:[
[5,4,11,2],
[5,8,4,5]
]
定義乙個二維向量res,如果存在頭節點,將該頭節點放入一維向量,然後將一維向量,與當前節點的左右子節點放入遞迴迴圈,如果該一維向量中所有加起來等於目標值,則將這個一維向量放入res中
定義乙個函式pathsum(),傳入引數root
,sum
,path
,傳進來的path為空的一維向量,先將root放入path中,如果sum等於path中所有元素之和將path放入res中,並且root無子節點。否則遞迴root->left,root->right
大致**如下:
void pathsum(treenode* root, int sum, vectorpath, int pathsum) else
}}
最終測試通過**
/**
* definition for a binary tree node.
* struct treenode
* };
*/class solution
void pathsum(treenode* root, int sum, vector&path, int path_sum) else
path.pop_back(); // 每次都需要返回到父節點}}
};
leetcode 113 路徑總和 II
題目描述 給定乙個二叉樹和乙個目標和,找到所有從根節點到葉子節點路徑總和等於給定目標和的路徑。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和sum 22,5 4 8 11 13 4 7 2 5 1返回 5,4,11,2 5,8,4,5 class solution void h...
leetcode113 路徑總和 II
參考自 這位博主!給定乙個二叉樹和乙個目標和,找到所有從根節點到葉子節點路徑總和等於給定目標和的路徑。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和sum 22,5 4 8 11 13 4 7 2 5 1返回 5,4,11,2 5,8,4,5 解題思路 主要思路就是深搜。但是要...
LeetCode113 路徑總和 II
給定乙個二叉樹和乙個目標和,找到所有從根節點到葉子節點路徑總和等於給定目標和的路徑。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和sum 22,5 48 11134 7251返回 5,4,11,2 5,8,4,5 和上一道 路徑總和i 差不多,記錄一下路徑,不要提前退出。記錄路...