Skip to content

Commit 65fd9c8

Browse files
committed
Add solution and test-cases for problem 108
1 parent fd0ccd3 commit 65fd9c8

File tree

3 files changed

+38
-7
lines changed

3 files changed

+38
-7
lines changed
Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,19 @@
11
package Solution
22

3-
func Solution(x bool) bool {
4-
return x
3+
func Solution(nums []int) *TreeNode {
4+
if len(nums) == 0 {
5+
return nil
6+
}
7+
8+
node := &TreeNode{}
9+
mid := len(nums) / 2
10+
node.Val = nums[mid]
11+
if mid > 0 {
12+
node.Left = Solution(nums[:mid])
13+
}
14+
if mid < len(nums)-1 {
15+
node.Right = Solution(nums[mid+1:])
16+
}
17+
18+
return node
519
}

leetcode/101-200/0108.Convert-Sorted-Array-to-Binary-Search-Tree/Solution_test.go

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,22 @@ func TestSolution(t *testing.T) {
1010
// 测试用例
1111
cases := []struct {
1212
name string
13-
inputs bool
14-
expect bool
13+
inputs []int
14+
expect *TreeNode
1515
}{
16-
{"TestCase", true, true},
17-
{"TestCase", true, true},
18-
{"TestCase", false, false},
16+
{"TestCase1", []int{-10, -3, 0, 5, 9}, &TreeNode{
17+
Val: 0,
18+
Left: &TreeNode{
19+
Val: -3,
20+
Left: &TreeNode{Val: -10},
21+
},
22+
Right: &TreeNode{
23+
Val: 9,
24+
Left: &TreeNode{Val: 5},
25+
},
26+
}},
27+
{"TestCase2", []int{1, 3}, &TreeNode{Val: 3, Left: &TreeNode{Val: 1}, Right: nil}},
28+
{"TestCase3", []int{1}, &TreeNode{Val: 1}},
1929
}
2030

2131
// 开始测试
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package Solution
2+
3+
type TreeNode struct {
4+
Val int
5+
Left *TreeNode
6+
Right *TreeNode
7+
}

0 commit comments

Comments
 (0)