个人记录-LeetCode 108. Convert Sorted Array to Binary Search Tree
来源:互联网 发布:云计算 paas 编辑:程序博客网 时间:2024/06/07 08:25
问题:
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
这个问题要求我们生成一个平衡二叉树。
直接生成AVL树是比较困难的,
需要不断地判断是否需要进行旋转相关的工作。
但如果输入是一个排序数组的话,就相对比较容易了。
由于AVL树需要保证左、右子树的深度差不超过1,
因此就是要保证左、右子树的节点数量几乎相等。
于是我们可以用排序数组的中间节点作为根节点,
分别得到AVL的左、右子树。
代码示例:
/** * 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) { //判断参数的有效性 if (nums == null || nums.length == 0) { return null; } //递归得到整个AVL树,初始范围为整个数组 return innerHelper(nums, 0, nums.length-1); } private TreeNode innerHelper(int[] nums, int begin, int end) { if (begin > end) { return null; } //每次取中间节点为根节点 int mid = (begin + end) / 2; TreeNode root = new TreeNode(nums[mid]); //用根节点的左侧的数生成左子树 root.left = innerHelper(nums, begin, mid-1); //用根节点的右侧的数生成右子树 root.right = innerHelper(nums, mid+1, end); return root; }}
0 0
- 个人记录-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
- 108. Convert Sorted Array to Binary Search Tree Leetcode Python
- [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 108. Convert Sorted Array to Binary Search Tree
- 108. Convert Sorted Array to Binary Search Tree LeetCode
- [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 108. Convert Sorted Array to Binary Search Tree
- leetCode 108. Convert Sorted Array to Binary Search Tree JAVA
- 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 - 108. Convert Sorted Array to Binary Search Tree
- postgresql 9.4 在linux(Centos)环境的安装步骤详解
- nginx 代码分析listen 和request请求的流程
- js 绑定时间后,浏览器会根据函数的参数传递一个事件
- 读TCP/IP详解卷一和计算机网络笔记
- jquery.form.js修改源码ajax支持json格式参数
- 个人记录-LeetCode 108. Convert Sorted Array to Binary Search Tree
- sourceInsight4 破解笔记(完美破解)
- 高并发Java 三 Java内存模型和线程安全
- python -pass的用法
- apache thrift介绍与实例
- myBatis
- 蓝桥杯 凑平方数
- mysql批量插入数据量过大报错解决办法
- spring-boot 入门(一)