LeetCode113 路徑之和2

2021-10-09 19:49:34 字數 1135 閱讀 6571

給定乙個二叉樹和乙個目標和,找到所有從根節點到葉子節點路徑總和等於給定目標和的路徑。

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

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

5

/ \4 8

/ / \

11 13 4

/ \ / \

7 2 5 1

返回:

[[5,4,11,2],

[5,8,4,5]

]思路:先序遍歷。每遍歷乙個結點就將其值加入路徑陣列path中,並更新路徑和path_sum,當遍歷到葉子節點時,檢查path_sum是否等於sum,等於的話,就將其path加入路徑陣列result中。在向上層回溯時要將當前節點的值從path中拿出,並更新path_sum。

#include

#include

using

namespace std;

struct treenode };

class

solution

void

preorder

(treenode *node,

int sum)

path.

push_back

(node-

>val)

; path_sum +

= node-

>val;

if(node-

>left ==

null

&& node-

>right ==

null

&& path_sum == sum)

preorder

(node-

>left,sum)

;preorder

(node-

>right,sum)

;//向上層回溯時,要將當前節點的值從path中拿出,並更新path_sum

path.

pop_back()

; path_sum -

= node-

>val;}}

;int

main()

cout<}return0;

}

leetcode 113 路徑之和

給定乙個二叉樹和乙個目標和,找到所有從根節點到葉子節點路徑總和等於給定目標和的路徑。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和 sum 22,5 4 8 11 13 4 7 2 5 1返回 5,4,11,2 5,8,4,5 思路 二叉樹的深度優先遍歷,在遍歷的過程中記錄當前...

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 解題思路 主要思路就是深搜。但是要...