Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 0394472

Browse files
author
Shuo
authored
Merge pull request #735 from openset/develop
Add: Path Sum
2 parents 1326b7e + 04813ff commit 0394472

File tree

3 files changed

+62
-0
lines changed

3 files changed

+62
-0
lines changed

‎internal/leetcode/problems_status.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ var problemStatus = map[int]bool{
2121
18: true,
2222
20: true,
2323
21: true,
24+
22: true,
2425
24: true,
2526
26: true,
2627
27: true,
@@ -45,6 +46,7 @@ var problemStatus = map[int]bool{
4546
104: true,
4647
108: true,
4748
110: true,
49+
112: true,
4850
118: true,
4951
119: true,
5052
121: true,
@@ -111,6 +113,7 @@ var problemStatus = map[int]bool{
111113
443: true,
112114
445: true,
113115
448: true,
116+
455: true,
114117
459: true,
115118
461: true,
116119
468: true,
@@ -174,6 +177,7 @@ var problemStatus = map[int]bool{
174177
896: true,
175178
905: true,
176179
908: true,
180+
912: true,
177181
914: true,
178182
917: true,
179183
922: true,
@@ -218,9 +222,11 @@ var problemStatus = map[int]bool{
218222
1046: true,
219223
1047: true,
220224
1051: true,
225+
1071: true,
221226
1108: true,
222227
1154: true,
223228
1163: true,
229+
1170: true,
224230
1185: true,
225231
1189: true,
226232
1221: true,

‎problems/path-sum/path_sum.go

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,24 @@
11
package problem112
2+
3+
import "github.com/openset/leetcode/internal/kit"
4+
5+
// TreeNode - Definition for a binary tree node.
6+
type TreeNode = kit.TreeNode
7+
8+
/**
9+
* Definition for a binary tree node.
10+
* type TreeNode struct {
11+
* Val int
12+
* Left *TreeNode
13+
* Right *TreeNode
14+
* }
15+
*/
16+
func hasPathSum(root *TreeNode, sum int) bool {
17+
if root == nil {
18+
return false
19+
}
20+
if root.Left == nil && root.Right == nil {
21+
return root.Val == sum
22+
}
23+
return hasPathSum(root.Left, sum-root.Val) || hasPathSum(root.Right, sum-root.Val)
24+
}

‎problems/path-sum/path_sum_test.go

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,34 @@
11
package problem112
2+
3+
import (
4+
"testing"
5+
6+
"github.com/openset/leetcode/internal/kit"
7+
)
8+
9+
type testType struct {
10+
in []int
11+
sum int
12+
want bool
13+
}
14+
15+
func TestHasPathSum(t *testing.T) {
16+
tests := [...]testType{
17+
{
18+
in: []int{5, 4, 8, 11, kit.NULL, 13, 4, 7, 2, kit.NULL, kit.NULL, kit.NULL, 1},
19+
sum: 22,
20+
want: true,
21+
},
22+
{
23+
in: []int{5, 8, 4, 4, 13, kit.NULL, 11, 7, 2},
24+
sum: 22,
25+
want: false,
26+
},
27+
}
28+
for _, tt := range tests {
29+
got := hasPathSum(kit.SliceInt2TreeNode(tt.in), tt.sum)
30+
if got != tt.want {
31+
t.Fatalf("in: %v, got: %v, want: %v", tt.in, got, tt.want)
32+
}
33+
}
34+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /