leetcode--Convert Sorted Array to Binary Search Tree
来源:互联网 发布:爱淘宝红包 1元 0.5元 编辑:程序博客网 时间:2024/06/16 01:18
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
题意:给定一个升序排列的数组,将它转换成平衡二叉树。
平衡二叉树是指它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。
另外平衡二叉树还是排序二叉树BST的特例。
解法1:递归创建。将数组平分长两部分,减一(根节点占一位)以后是奇数也没有关系,因为平衡二叉树允许高度值差1.
对这两部分,再递归调用生成平衡二叉树,最后将左右子树连接到根节点就可以了
递归出口是只有一个数的时候,返回节点本身
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public TreeNode sortedArrayToBST(int[] nums) { return helper(nums, 0, nums.length-1); }public TreeNode helper(int[] nums,int start,int end){if(start>end) return null;if(start==end) return new TreeNode(nums[start]);//递归出口int mid = start+(end-start)/2;TreeNode t = new TreeNode(nums[mid]);//根节点t.left = helper(nums, start, mid-1);//生成左子树t.right = helper(nums, mid+1, end);//生成右子树return t;}}
0 0
- 【LeetCode】Convert Sorted Array to Binary Search Tree && Convert Sorted List to Binary Search Tree
- 【LeetCode】convert-sorted-link-to-binary-search-tree & convert-sorted-array-to-binary-search-tree
- Leetcode - Tree - Convert Sorted Array to Binary Search Tree
- *(leetcode) Convert Sorted Array to Binary Search Tree (tree)
- LeetCode[Tree]: 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 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 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]Convert Sorted Array to Binary Search Tree
- [leetcode]Convert Sorted Array to Binary Search Tree
- PHP上传文件设计分析
- leetcode--Construct Binary Tree from Preorder and Inorder Traversal
- LAMP5-杂项+Discuz3.2
- textarea中的错误
- SGU130 Circle
- leetcode--Convert Sorted Array to Binary Search Tree
- 135 南冥 曹植 有何所關
- 134 東洲 成悌元 聲極悽咽
- 2015-6-13
- 《设计模式》学习体会
- chapter12test5
- 文件的切割与合并练习
- bzoj 4127: Abs
- CSS盒子模型