【LeetCode-面试算法经典-Java实现】【108-Convert Sorted Array to Binary Search Tree(排序数组转变为平衡二叉树)】
来源:互联网 发布:godaddy新加坡注册域名 编辑:程序博客网 时间:2024/06/06 02:37
【108-Convert Sorted Array to Binary Search Tree(排序数组转变为平衡二叉树)】
【LeetCode-面试算法经典-Java实现】【所有题目目录索引】
原题
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
题目大意
给定一个升序排列的二叉树,将其转换为一棵高度平衡的二叉树。
解题思路
采用递归分治法。
代码实现
树结点类
public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; }}
算法实现类
public class Solution { public TreeNode sortedArrayToBST(int[] nums) { // 参数检验 if (nums == null || nums.length < 1) { return null; } // 递归分治法求解 return solve(nums, 0, nums.length - 1); } /** * 递归分治求解方法 * * @param nums 升序排序数组 * @param start 开始位置 * @param end 结束位置 * @return 根结点 */ public TreeNode solve(int[] nums, int start, int end) { // 还有未处理的数据 if (start <= end) { // 找蹭位置 int mid = start + ((end - start) >> 1); // 构造根结点 TreeNode root = new TreeNode(nums[mid]); // 求左子树 root.left = solve(nums, start, mid - 1); // 求右子树 root.right = solve(nums, mid + 1, end); // 返回结果 return root; } return null; }}
评测结果
点击图片,鼠标不释放,拖动一段位置,释放后在新的窗口中查看完整图片。
特别说明
欢迎转载,转载请注明出处【http://blog.csdn.net/derrantcm/article/details/47392999】
2 1
- 【LeetCode-面试算法经典-Java实现】【108-Convert Sorted Array to Binary Search Tree(排序数组转变为平衡二叉树)】
- Leetcode 108 Convert Sorted Array to Binary Search Tree 有序数组构造平衡二叉查找树
- [LeetCode]108. 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#108. Convert Sorted Array to Binary Search Tree (平衡二叉查找树)
- 有序数组转换为平衡二叉搜索树(Convert Sorted Array to Binary Search Tree)
- 108.leetcode Convert Sorted Array to Binary Search Tree(medium)[数组 二分查找 二叉平衡搜索树]
- LeetCode 108. Convert Sorted Array to Binary Search Tree(数组转换为二叉搜索树)
- leetcode 108. Convert Sorted Array to Binary Search Tree 构建平衡二叉搜索树 + DFS
- 108. Convert Sorted Array to Binary Search Tree 有序数组转换为平衡二叉搜索树
- 108. Convert Sorted Array to Binary Search Tree | 有序数组生成平衡二叉搜索树
- 【LeetCode-面试算法经典-Java实现】【109-Convert Sorted List to Binary Search Tree(排序链表转换成二叉排序树)】
- Convert Sorted Array to Binary Search Tree (递增数组建高度平衡的二叉查找树)【leetcode】
- Leetcode Convert Sorted Array to Binary Search Tree 有序数组转换成二叉搜索树BST
- Convert Sorted Array to Binary Search Tree 将排序的数组转换为二叉搜索树
- [leetcode-108]Convert Sorted Array to Binary Search Tree(java)
- singlefile.py
- 【Leetcode】Edit Distance #72
- FSMC STM32 + FPGA
- 开源中国源码学习(五)——切换皮肤(日间模式和夜间模式)
- 【LeetCode-面试算法经典-Java实现】【107-Binary Tree Level Order Traversal II(二叉树层序遍历II)】
- 【LeetCode-面试算法经典-Java实现】【108-Convert Sorted Array to Binary Search Tree(排序数组转变为平衡二叉树)】
- 【LeetCode-面试算法经典-Java实现】【109-Convert Sorted List to Binary Search Tree(排序链表转换成二叉排序树)】
- hdoj1176免费馅饼【dp】
- 网桥和网桥相连的网络
- 信号
- POJ 2411 Mondriaan's Dream
- 3.1 变量和常量的数据类型;3.1.1 值类型
- hdoj1421搬寝室【dp】
- 建造者模式之构建器