LeetCode_108. Convert Sorted Array to Binary Search Tree
2024-09-01 14:21:13
108. Convert Sorted Array to Binary Search Tree
Easy
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never differ by more than 1.
Example:
Given the sorted array: [-10,-3,0,5,9], One possible answer is: [0,-3,9,-10,null,5], which represents the following height balanced BST: 0
/ \
-3 9
/ /
-10 5
package leetcode.easy; /**
* Definition for a binary tree node. public class TreeNode { int val; TreeNode
* left; TreeNode right; TreeNode(int x) { val = x; } }
*/
public class ConvertSortedArrayToBinarySearchTree {
public TreeNode sortedArrayToBST(int[] nums) {
if (0 == nums.length) {
return null;
}
TreeNode root = new TreeNode(nums[nums.length / 2]);
root.left = sortedArrayToBST(java.util.Arrays.copyOfRange(nums, 0, nums.length / 2));
root.right = sortedArrayToBST(java.util.Arrays.copyOfRange(nums, nums.length / 2 + 1, nums.length));
return root;
} private static void transLevel(TreeNode root) {
java.util.LinkedList<TreeNode> queue = new java.util.LinkedList<>();
if (null == root) {
return;
} else {
System.out.print(root.val + " ");
queue.offer(root);
while (!queue.isEmpty()) {
root = queue.pop();
if (root.left != null) {
System.out.print(root.left.val + " ");
queue.offer(root.left);
}
if (root.right != null) {
System.out.print(root.right.val + " ");
queue.offer(root.right);
}
} // end of the while
} // end of the if
} @org.junit.Test
public void test() {
int[] nums = { -10, -3, 0, 5, 9 };
TreeNode root = sortedArrayToBST(nums);
transLevel(root);
}
}
最新文章
- Excel 改变列表头显示方式, Excel显示列数字
- 【poj1019】 Number Sequence
- JS-计算器制作
- MSChart使用
- jquery初涉,First Blood
- secure CRT 介绍
- chage命令管理用户口令时效
- 数据库(批处理, 事务,CachedRawSetImpl类
- 浅谈JAVA中字符串常量的储存位置
- python基础(三)列表、数组、字典
- linux周期性计划任务 进程管理
- 比较集合List<;T>;集合,前后多了哪些数据,少了哪些数据Except
- sublime快捷键的使用
- Android开发中遇到的问题(一)——Android模拟器端口被占用问题的解决办法
- 适配ipad Pro
- yum 安装指定 kernel 版本源码
- Spring统一异常处理
- 32 Profiling Go Programs 分析go语言项目
- HTML标签 闭合还是不闭合?
- August 07th 2017 Week 32nd Monday