leetcode:108. 将有序数组转换为二叉搜索树
2020-08-31 01:10
99 查看
将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。
本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ class Solution { public TreeNode sortedArrayToBST(int[] nums) { return dfs(nums, 0, nums.length - 1); } private TreeNode dfs(int[] nums, int lo, int hi) { if (lo > hi) { return null; } // 以升序数组的中间元素作为根节点 root。 int mid = lo + (hi - lo) / 2; TreeNode root = new TreeNode(nums[mid]); // 递归的构建 root 的左子树与右子树。 root.left = dfs(nums, lo, mid - 1); root.right = dfs(nums, mid + 1, hi); return root; } }
相关文章推荐
- [和小菜鸡一起刷题(python)] LeetCode 108. 将有序数组转换为二叉搜索树(Convert Sorted Array to Binary Search Tree)
- 【LeetCode】108.将有序数组转换为二叉搜索树 (JAVA)
- Leetcode108. 将有序数组转换为二叉搜索树(python3)
- Leetcode 108. 将有序数组转换为二叉搜索树
- LeetCode 108. 将有序数组转换为二叉搜索树
- Leetcode 108. 将有序数组转换为二叉搜索树
- LeetCode精选TOP面试题108.将有序数组转换为二叉搜索树
- LeetCode - 108. 将有序数组转换为二叉搜索树
- LeetCode 108. 将有序数组转换为二叉搜索树
- Leetcode 108.将有序数组转换为二叉搜索树
- 【LeetCode】108. 将有序数组转换为二叉搜索树
- 【刷算法】LeetCode-将有序数组转换为二叉搜索树
- LeetCode刷题笔记(108,将有序数组转换为二叉搜索树,Easy)
- LeetCode108--将有序数组转换为二叉搜索树
- 108. 将有序数组转换为二叉搜索树
- leetcode刷题108将有序数组转换为二叉搜索树
- leetcode- 将有序数组转换为二叉搜索树(java)
- Leetcode Convert Sorted Array to Binary Search Tree 有序数组转换成二叉搜索树BST
- (26) 108. 将有序数组转换为二叉搜索树
- Leetcode || 将有序数组转换为二叉搜索树