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

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

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

  • 思路

给你一个整数数组 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] 都是高度平衡二叉搜索树。

思路

二叉搜索树的中序遍历是升序序列,题目给定的数组是按照升序排序的有序数组,因此可以确保数组是二叉搜索树的中序遍历序列。

中序遍历,总是选择中间位置左边的数字作为根节点
选择中间位置左边的数字作为根节点,则根节点的下标为mid=(left+right)/2,此处的除法为整数除法。

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

相关文章:

  • sqlclchery面对复杂的sql语句怎么办
  • Jenkins上无法查看已成功生成的Junit报告
  • 从人机环境系统智能角度看传统IP的全球化二次创作法则
  • 前端防重复请求终极方案:从Loading地狱到精准拦截的架构升级
  • 设计模式之装饰器设计模式/包装设计模式
  • 【HeadFirst系列之HeadFirstJava】第3天之从零开始理解Java中的主数据类型和引用
  • 在聚类算法的领域特定语言(DSL)中添加一个度量矩阵组件
  • 游戏开发 游戏项目介绍
  • 记录首次安装远古时代所需的运行环境成功npm install --save-dev node-sass
  • 百度首页上线 DeepSeek 入口,免费使用
  • C++常量成员函数定义与使用
  • 详细介绍STM32(32位单片机)外设应用
  • 【CVPR2024-工业异常检测】PromptAD:与只有正常样本的少样本异常检测的学习提示
  • Redisson 的 RRateLimiter 限流
  • 值和引用类型在变量赋值时的区别是什么?(C#)
  • 【计算机网络】OSI模型、TCP/IP模型、路由器、集线器、交换机
  • Git-速查
  • ‌挖数据平台对接DeepSeek推出一键云端部署功能:API接口驱动金融、汽车等行业智能化升级
  • 便携式动平衡仪Qt应用层详细设计方案(基于Qt Widgets)
  • C#贪心算法
  • 传媒公司主要做什么/优化网络培训
  • 做企业网站排名/网络推广怎么做好
  • 如何查看域名以前是做什么网站的/优化关键词排名的工具
  • wordpress添加tag标签/百度自然排名优化
  • 淄博微信网站建设/国外网站排行
  • seo网站优化方案/站内营销推广方案