七七老师の白日梦
首页项目归档照片墙音乐灵境说说杂谈友链关于
封面

将有序数组转换为二叉搜索树:内容扩充

写作时间:2026-08-01 22:13:43

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

需求

  • 整数数组转为平衡二叉树

代码

class Solution {
    public TreeNode sortedArrayToBST(int[] nums) {
//因为原函数输入的参数是数组,所以需要定义一个函数来构建树
        return buildTree(nums,0,nums.length - 1);
    }

    private TreeNode buildTree(int[] nums,int left,int right) {
//        终止条件
        if (left > right) return null;
//防止溢出,数学思想,等价于 (left + right) / 2
        int mid = left + (right - left) / 2;
//        中点创建根节点
        TreeNode root = new TreeNode(nums[mid]);
//递归创建左右子树
        root.left = buildTree(nums, left, mid-1);
        root.right = buildTree(nums, mid+1, right);
        return root;
    }
}

‍

avatar

七七老师

分享代码日常

RECOMMENDED

七七旧事:复盘并改变写博客的方式

2026-07-02 22:54:38

字母异位词

2026-07-04 22:22:08

寻找两个正序数组的中位数:合并与二分

2026-07-08 15:56:26

Table of Contents