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

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

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

解题思路:
找到数组的中间元素,作为平衡二叉树的root节点,中间元素左半边子数组转换为的平衡二叉树就是root节点的左子树,右半边子数组转换为的平衡二叉树就是root节点的右子树。
所以就将原问题转换为两个子问题,又root节点+左半部分数组转换的平衡二叉树+右半部分数组转换的平衡二叉树,故可用递归方法解决。

/*** 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 {public TreeNode sortedArrayToBST(int[] nums) {int n = nums.length;if(n == 0){return null;}TreeNode root = new TreeNode(nums[n / 2]);root.left = sortedArrayToBST(Arrays.copyOfRange(nums, 0, n / 2));root.right = sortedArrayToBST(Arrays.copyOfRange(nums, n / 2 + 1, n));return root;}
}
http://www.lqws.cn/news/467965.html

相关文章:

  • Vue.js核心概念与实践指南:从实例绑定到数据代理
  • opencv try-catch
  • BGP路由反射器(RR)实验详解,结尾有详细脚本
  • 在 `setup` 函数中使用 Vuex
  • 自定义 Spring starter 的原理详解
  • 港科ISM选课攻略整理
  • CVE-2024-6387漏洞、CVE-2025-26465漏洞、CVE-2025-26466漏洞 一口气全解决
  • 【nature review】原子尺度上光与物质的相互作用
  • Rabbitmq的五种消息类型介绍,以及集成springboot的使用
  • 小程序右上角○关闭事件
  • c++中 Lambda表达式
  • Ubuntu崩溃修复大赛的技术文章大纲
  • ssssssssss
  • Solidity内部合约创建全解析:解锁Web3开发新姿势
  • 5.3 VSCode使用FFmpeg库
  • CSS 制作学成在线网页
  • clickhouse-server连不上clickhouse-keeper的问题记录
  • 【appium】3.查看本地已安装的appium版本
  • WINUI/WPF——Button不同状态下图标切换
  • 对接支付宝,阿里云沙箱服务
  • 在Linux中如何编写*.service文件?
  • 【单调栈】-----【Largest Rectangle in a Histogram】
  • emscripten 编译 wasm 版本的 openssl
  • 蚂蚁百宝箱快速创建智能体AI小程序
  • 项目中后端如何处理异常?
  • 智慧水利数字孪生解决方案:百川孪生智领千行,100+标杆案例赋能智慧水利全域升级
  • 【LeetCode#第198题】打家劫舍(一维dp)
  • Compose笔记(二十七)--网格布局
  • SwinTransformer 改进:小波+注意力模块(Wavelet-Guided Attention)
  • 【LeetCode 热题 100】15. 三数之和——排序 + 双指针解法