【Leetcode】Convert Sorted Array to Binary Search Tree (BST)
2014-11-07 23:13
453 查看
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
基本方法就是divide and conquer
把整个数组拆分成两半,中间那个为根节点,左边为root.left,右边为root.right,最后返回root即可
基本模型还是二分查找(递归方法)的模型
代码如下
public TreeNode sortedArrayToBST(int[] num) {
if (num == null || num.length == 0)
return null;
return helper(num, 0, num.length - 1);
}
public TreeNode helper(int[] num, int left, int right) {
if (left > right)
return null;
int middle = (left + right) / 2;
TreeNode root = new TreeNode(num[middle]);
root.left = helper(num, left, middle - 1);
root.right = helper(num, middle + 1, right);
return root;
}
基本方法就是divide and conquer
把整个数组拆分成两半,中间那个为根节点,左边为root.left,右边为root.right,最后返回root即可
基本模型还是二分查找(递归方法)的模型
代码如下
public TreeNode sortedArrayToBST(int[] num) {
if (num == null || num.length == 0)
return null;
return helper(num, 0, num.length - 1);
}
public TreeNode helper(int[] num, int left, int right) {
if (left > right)
return null;
int middle = (left + right) / 2;
TreeNode root = new TreeNode(num[middle]);
root.left = helper(num, left, middle - 1);
root.right = helper(num, middle + 1, right);
return root;
}
相关文章推荐
- Leetcode Convert Sorted Array to Binary Search Tree 有序数组转换成二叉搜索树BST
- [leetcode]Convert Sorted Array to Balanced Binary Search Tree (BST)
- 【题解】【BST】【Leetcode】Convert Sorted Array to Binary Search Tree
- Leetcode 108 Convert Sorted Array to Binary Search Tree 将一个有序数组变成BST
- Convert Sorted Array to Binary Search Tree 把一个有序数组转换成BST @LeetCode
- [LeetCode]Convert Sorted Array to Binary Search Tree 将有序数组转换成BST
- leetcode 11: Convert Sorted Array to Binary Search Tree
- LeetCode Convert Sorted Array to Binary Search Tree
- LeetCode - Convert Sorted Array to Binary Search Tree
- [Leetcode] Convert Sorted Array to Binary Search Tree
- Leetcode 108 Convert Sorted Array to Binary Search Tree
- [LeetCode] Convert Sorted Array to Binary Search Tree
- [LeetCode]Convert Sorted Array to Binary Search Tree
- leetcode 11: Convert Sorted Array to Binary Search Tree
- LeetCode Convert Sorted Array to Binary Search Tree
- LeetCode_Convert Sorted Array to Binary Search Tree
- [LeetCode] Convert Sorted Array to Binary Search Tree
- LeetCode: Convert Sorted Array to Binary Search Tree
- [leetcode] Convert Sorted Array to Binary Search Tree
- LeetCode: Convert Sorted Array to Binary Search Tree