LeetCode 108. Convert Sorted Array to Binary Search Tree in F#
URL
leetcode.com/problems/convert-sorted-array-..
Code
github.com/syohex/dotnet-study/blob/master/..
type Tree =
| Leaf
| Node of int * Tree * Tree
let sortedArrayToBST (nums: int []) : Tree =
let rec sortedArrayToBST' left right (nums: int []) =
if left > right then
Leaf
else
let mid = (left + right) / 2
Node(nums.[mid], sortedArrayToBST' left (mid - 1) nums, sortedArrayToBST' (mid + 1) right nums)
sortedArrayToBST' 0 (nums.Length - 1) nums