2022-10-09

每日一题

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


    相同的二叉树.png
  • 二叉搜索树的中序遍历是升序遍历,因为给定的数组是升序的,所以可以保证数组转化为二叉树是中序遍历

    然后我们需要在数组中选出一个根节点,这里我们采用中间最左边的为根节点,然后创建中序遍历二叉树

  • 方法如下

    class Answer{
        public TreeNode sortArrayToBST(int nums[]){
           return method(nums,0,nums.length-1);
    }
        public TreeNode method(int [] nums,int left,int right){
        if(left>right){
           return null;
        }
        int mid=(left+right+1)/2;//将中间的左边那个作为二叉树的根节点
        TreeNode root = new TreeNode(nums[mid]);
        root.left=method(nums,left,mid-1);
        root.right=method(nums,mid+1,right);
        return root;
    }
    }
    
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ● 如何打印二叉树每层的节点? 考察点:二叉树 参考回答: 实现代码: import java.util.Arra...
    le_u阅读 509评论 0 0
  • 技术交流QQ群:1027579432,欢迎你的加入! 欢迎关注我的微信公众号:CurryCoder的程序人生 1....
    CurryCoder阅读 1,882评论 0 2
  • 剑指Offer系列 [TOC] 数组和字符串 剑指offer 04.二维数组中的查找 从左下角开始查找,二分思想。...
    SwiftGo阅读 442评论 0 1
  • 设原始数据规模为n,需要采样的数量为k 先选取数据流中的前k个元素,保存在集合A中; 从第j(k + 1 <= j...
    Impossible安徒生阅读 312评论 0 0
  • 面试题38:数字在排序数组中出现的次数统计一个数字在排序数组中出现的次数,例如输出排序数组是{1,2,3,3,3,...
    小逗比儿阅读 261评论 0 0