File tree Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Original file line number Diff line number Diff line change 26
26
- [ 104.二叉树的最大深度] ( leetcode/104.go )
27
27
- [ 108.将有序数组转换为二叉搜索树] ( leetcode/108.go )
28
28
- [ 111.二叉树的最小深度] ( leetcode/111.go )
29
+ - [ 112.路径总和] ( leetcode/112.go )
29
30
- [ 118.杨辉三角] ( leetcode/118.go )
30
31
- [ 121.买卖股票的最佳时机] ( leetcode/121.go )
31
32
- [ 217.存在重复元素] ( leetcode/217.go )
Original file line number Diff line number Diff line change
1
+ package leetcode
2
+
3
+ //给你二叉树的根节点root 和一个表示目标和的整数targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和targetSum 。如果存在,返回 true ;否则,返回 false 。
4
+ //叶子节点 是指没有子节点的节点。
5
+
6
+ func hasPathSum (root * TreeNode , targetSum int ) bool {
7
+ var dfs func (root * TreeNode , targetSum int ) bool
8
+ dfs = func (root * TreeNode , targetSum int ) bool {
9
+ if root == nil {
10
+ return false
11
+ }
12
+ if root .Val == targetSum && root .Left == nil && root .Right == nil {
13
+ //如果节点等于目标值,并且是叶子节点,则说明存在路径
14
+ return true
15
+ }
16
+ //递归寻找左右子树是否有节点等于目标值
17
+ return dfs (root .Left , targetSum - root .Val ) || dfs (root .Right , targetSum - root .Val )
18
+ }
19
+ return dfs (root , targetSum )
20
+ }
You can’t perform that action at this time.
0 commit comments