加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

[Leetcode 108]有序数组转二叉搜索树Convert Sorted Array to Bi

发布时间:2020-12-14 04:14:31 所属栏目:大数据 来源:网络整理
导读:【题目】 给出的升序排序的数组,个数必为奇数,要求形成二叉搜索(平衡)树。 【思路】 辅助函数fun,[0,len]=[0,mid-1]+[mid+1,len]。 当leftright,返回null。 public TreeNode fun( int [] nums, int left, int right) { int mid=(right+left)/2 ; TreeN

【题目】

给出的升序排序的数组,个数必为奇数,要求形成二叉搜索(平衡)树。

【思路】

辅助函数fun,[0,len]=>[0,mid-1]+[mid+1,len]。

当left>right,返回null。

    public TreeNode fun(int[] nums,int left,int right) {
        int mid=(right+left)/2;
        TreeNode tmp=new TreeNode(nums[mid]);
        if(right<left)
            return null;
        tmp.left=fun(nums,left,mid-1);
        tmp.right=fun(nums,mid+1,right);
        return tmp;
    }

【AC代码】

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public TreeNode sortedArrayToBST(int[] nums) {
        int len=nums.length;
        if(nums.length==0){
            return null;
        }
        TreeNode root=fun(nums,len-1);
        return root;
    }
    
    public TreeNode fun(int[] nums,right);
        return tmp;
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读