Leetcode-Convert Sorted Array to BST
2024-10-19 08:59:31
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
Solution:
/**
* Definition for binary tree
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
public class Solution {
public TreeNode sortedArrayToBST(int[] num) {
if (num.length==0)
return null; int end = num.length-1;
TreeNode root = sortedArrayToBSTRecur(num,0,end);
return root;
} public TreeNode sortedArrayToBSTRecur(int[] num, int head, int end){
if (head==end){
TreeNode root = new TreeNode(num[head]);
return root;
} if (head+1==end){
TreeNode root = new TreeNode(num[end]);
TreeNode child = new TreeNode(num[head]);
root.left = child;
return root;
} //Calculate the median index.
int len = end-head;
int mid = head + len/2 + len%2;
TreeNode root = new TreeNode(num[mid]);
TreeNode leftChild = sortedArrayToBSTRecur(num,head,mid-1);
TreeNode rightChild = sortedArrayToBSTRecur(num,mid+1,end);
root.left = leftChild;
root.right = rightChild;
return root;
}
}
最新文章
- a标签产生间隙,<;a>; 包裹 <;img>; 产生 4px 间隙
- phpmyadmin修改root密码
- js-JavaScript高级程序设计学习笔记12
- 【MySQL】MySQL忘记root密码解决方案
- 【hadoop代码笔记】Hadoop作业提交中EagerTaskInitializationListener的作用
- 【Zookeeper】源码分析之网络通信(一)
- HTTP协议&SOCKET协议
- js的event事件
- 虚拟机迁移(QEMU动态迁移,Libvirt动(静)态迁移)
- 强化学习(十七) 基于模型的强化学习与Dyna算法框架
- luogu P5303 [GXOI/GZOI2019]逼死强迫症
- Nginx的正向代理与反向代理详解
- 【原】Java学习笔记009 - 阶段测试
- 团队作业第六周--alpha阶段项目复审
- ASP.NET MVC - 处理Html数据
- 基于【CentOS-7+ Ambari 2.7.0 + HDP 3.0】搭建HAWQ数据仓库01 —— 准备环境,搭建本地仓库,安装ambari
- SpringBoot-热部署Devtools
- bzoj2045
- SQL-25 获取员工其当前的薪水比其manager当前薪水还高的相关信息
- 【机器学习】感知机学习算法(PLA)