当前位置: 首页 > news >正文

LeetCode算法二叉树—108. 将有序数组转换为二叉搜索树

目录

108. 将有序数组转换为二叉搜索树

代码:

运行结果: 


给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。

高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。

示例 1:

输入:nums = [-10,-3,0,5,9]
输出:[0,-3,9,-10,null,5]
解释:[0,-10,5,null,-3,null,9] 也将被视为正确答案:

示例 2:

输入:nums = [1,3]
输出:[3,1]
解释:[1,null,3] 和 [3,1] 都是高度平衡二叉搜索树。

提示:

  • 1 <= nums.length <= 104
  • -104 <= nums[i] <= 104
  • nums 按 严格递增 顺序排列

代码:

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {// 「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树// 即将数组看作中序遍历[左根右],那么数组中间就看做根节点,// 递归处理:根据中序遍历确定根节点,然后递归确定左子树,右子树public TreeNode sortedArrayToBST(int[] nums) {// 给出数组,本次需确定树的数组范围,初始为0——数组结束return fun(nums,0,nums.length-1);}TreeNode fun(int[] nums,int beg,int end){// 递归终止条件:该部分数组内容处理完了if(beg>end) return null;// 按照中间(靠右)为根节点int mid=(end-beg+1)/2+beg;// 确定当前范围根节点TreeNode root=new TreeNode(nums[mid]);// 递归root.left=fun(nums,beg,mid-1);root.right=fun(nums,mid+1,end);// 返回当前树return root;}
}

运行结果: 

http://www.lryc.cn/news/175320.html

相关文章:

  • 如何设置 Git 短命令
  • virtualbox无界面打开linux虚拟机的bat脚本,以及idea(代替Xshell)连接linux虚拟机的方法
  • mockito 的 InjectMocks 和 Mock 有什么区别?
  • 网络工程师的爬虫技术之路:跨界电商与游戏领域的探索
  • 【TCP】确认应答 与 超时重传
  • Kubernetes中Pod的扩缩容介绍
  • vue点击pdf文件直接在浏览器中预览文件
  • 通讯网关软件012——利用CommGate X2OPC实现MS SQL数据写入OPC Server
  • ISE_ChipScope Pro的使用
  • 北邮22级信通院数电:Verilog-FPGA(2)modelsim北邮信通专属下载、破解教程
  • 【力扣-每日一题】213. 打家劫舍 II
  • 【PDF】pdf 学习之路
  • 排序算法二 归并排序和快速排序
  • 活动回顾 | 暴雨也无法阻挡的奔赴,2023 Meet TVM · 深圳站完美收官!
  • JAVA_多线程的实现方式
  • Android AndroidStudro版本gradle版本对应
  • Windows所有的端口及端口对应的程序
  • 【Kafka系列】(二)Kafka的基本使用
  • 2023年下半年软考高级系统架构设计师论文指南(收藏)
  • 数据结构之【动态数组】
  • 解答嵌入式和单片机的关系
  • 利用Pycharm将python程序打包为exe文件(亲测可用)
  • 解决Vue设置图片的动态src不生效的问题
  • 企业关键数据采集如何做
  • 抖音SEO矩阵系统源码开发搭建
  • 20230925工作心得
  • ESP32在CAN(TWAI)波特率不同时收发数据,导致总线错误无法恢复
  • 精简版背包问题|01背包、完全背包、多重背包
  • 五、核支持向量机算法(NuSVC,Nu-Support Vector Classification)(有监督学习)
  • 个人废品回收小程序制作步骤详解