Skip to content

Commit 172f745

Browse files
authored
Create 0108-convert-sorted-array-to-binary-search-tree.kt
1 parent 7ce0bd4 commit 172f745

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/**
2+
* Example:
3+
* var ti = TreeNode(5)
4+
* var v = ti.`val`
5+
* Definition for a binary tree node.
6+
* class TreeNode(var `val`: Int) {
7+
* var left: TreeNode? = null
8+
* var right: TreeNode? = null
9+
* }
10+
*/
11+
class Solution {
12+
fun sortedArrayToBST(nums: IntArray): TreeNode? {
13+
14+
fun createTree(left: Int, right: Int): TreeNode? {
15+
16+
if(left > right) return null
17+
else if(left == right) return TreeNode(nums[left])
18+
19+
val mid = (left + right) / 2
20+
val node = TreeNode(nums[mid])
21+
node.left = createTree(left, mid-1)
22+
node.right = createTree(mid+1, right)
23+
24+
return node
25+
}
26+
27+
return createTree(0, nums.lastIndex)
28+
}
29+
}

0 commit comments

Comments
 (0)