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

devtools/2024/12/23 22:39:06/

题目描述:

给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 

平衡 二叉搜索树。

示例 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] 都是高度平衡二叉搜索树。

代码思路:

/*** 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) {if (nums.length==0){return null;}TreeNode root = new TreeNode();locat(root , 0, nums.length-1,nums);return root;}public void locat(TreeNode root,int low,int high,int[] nums){int mid = (low+high)/2;root.val = nums[mid];if(low<mid){TreeNode lx = new TreeNode();root.left = lx;locat(lx,low,mid-1,nums);}if(mid<high){TreeNode rx = new TreeNode();root.right = rx;locat(rx,mid+1,high,nums);}}
}


http://www.ppmy.cn/devtools/144097.html

相关文章

Spring Boot 项目创建

创建一个新项目&#xff1a; 打开 Spring Initializr 网址&#xff1a;https://start.spring.io/ &#xff0c;然后创建一个新项目&#xff1a; springboot3.3.5_jdk17&#xff1a; Project&#xff08;Maven&#xff09;编程语言&#xff08;Java 17&#xff09;Spring Boo…

RPA 在促销活动自动化处理中的创新应用

一、促销信息收集 多渠道促销信息抓取&#xff1a;RPA 不仅从常见电商平台收集促销信息&#xff0c;还从专业论坛、行业网站等渠道获取。 例如从特定产品的专业论坛上收集相关品牌的促销动态。 竞争对手促销监测&#xff1a;实时监测竞争对手的促销活动&#xff0c;包括价格变…

2024年12月SCI-海星优化算法Starfish optimization algorithm-附Matlab免费代码

引言 本期介绍了一种新的生物启发的求解优化问题的元启发式算法-海星优化算法Starfish optimization algorithm &#xff0c;SFOA&#xff0c;算法模拟了海星的探索、捕食和再生等行为。该算法于2024年11月最新发表在人工智能核心SCI期刊 Neural Computing and Applications。…

Vue.js前端框架教程13:Vue空值合并?? 可选链?.和展开运算符...

文章目录 ??&#xff08;空值合并运算符&#xff09;区别 | - 逻辑或&#xff08;Logical OR&#xff09;|| - 空值合并运算符&#xff08;Nullish Coalescing Operator&#xff09;?. - 可选链&#xff08;Optional Chaining&#xff09;... 展开运算符&#xff08;Spread …

打通全网SEO优化:提高百度、B站、抖音等平台搜索排名

SEO&#xff08;搜索引擎优化&#xff09;已经不仅仅局限于传统的搜索引擎&#xff0c;它涵盖了多个内容平台、电商平台、社交媒体等。要想在这些平台上获得更多的曝光&#xff0c;提升品牌知名度&#xff0c;获取精准流量&#xff0c;必须采用全网SEO优化策略。如何打通全网SE…

webdriver 反爬虫 (selenium反爬虫) 绕过

1. webdriver 反爬虫原理 爬虫程序可以借助渲染工具从动态网页中获取数据。 在这个过程中&#xff0c;“借助”其实是通过对应的浏览器驱动&#xff08;即WebDriver&#xff09;向浏览器发出指令的行为。因此&#xff0c;开发者可以根据客户端是否包含浏览器驱动这一特征来区分…

GIT命令使用手册(详细实用版)

一、git常用操作参考 第一次提交完整步骤&#xff1a; 1.git init; 2.git add . 3.git commit -m "初始化" 4.git remote add origin https://github.com/githubusername/demo.git 5.git pull origin master 6.git push -u origin master&#xff08;使用-u选项可以将…

【uniapp蓝牙】基于native.js链接ble和非ble蓝牙

【uniapp蓝牙】基于native.js链接ble和非ble蓝牙 uniapp不是仅支持低功耗蓝牙&#xff08;基础蓝牙通讯不支持&#xff09;&#xff0c;有些可能需要基础蓝牙。我现在同步我的手机蓝牙列表低功耗&#xff0c;基础蓝牙都支持 /*** author wzj* 通用蓝牙模块封装* 搜索 ble 和非…