zoukankan      html  css  js  c++  java
  • 108. 将有序数组转换为二叉搜索树

    将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。

    本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。

    示例:

    给定有序数组: [-10,-3,0,5,9],

    一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树:

    0
    /
    -3 9
    / /
    -10 5

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/convert-sorted-array-to-binary-search-tree

     1 public class ConvertSortedArrayToBinarySerachTree108 {
     2     static class TreeNode {
     3         int val;
     4         TreeNode left;
     5         TreeNode right;
     6         TreeNode(int x) {
     7             this.val  = x;
     8         }
     9     }
    10     
    11     public TreeNode sortedArrayToBST(int[] nums) {
    12         return toBST(nums, 0, nums.length - 1);
    13     } 
    14     
    15     public TreeNode toBST(int[] nums, int start, int end) {
    16         if(start > end) { //相等的时候需要返回这一个节点,所以不能返回null
    17             return null;
    18         }
    19         //或这当start == end时,直接返回节点
    20 /*        if(start == end) {
    21             return new TreeNode(nums[start]);
    22         }*/
    23         int mid = (start + end) / 2;
    24         TreeNode root = new TreeNode(nums[mid]);
    25         root.left = toBST(nums, start, mid - 1);
    26         root.right = toBST(nums, mid + 1, end);
    27         return root;
    28     }
    29 }
    无论有多困难,都坚强的抬头挺胸,人生是一场醒悟,不要昨天,不要明天,只要今天。不一样的你我,不一样的心态,不一样的人生,顺其自然吧
  • 相关阅读:
    SpringMVC金课-课程大纲
    Type Cannot change version of project facet Dynamic Web Module to 3.0.
    使用maven 创建web项目 + 搭建SSM框架
    多文件上传
    asp.net 连接access数据库方法
    分享代码
    DIV+CSS解决IE6,IE7,IE8,FF兼容问题(转至http://www.douban.com/note/163291324/)
    asp.net发布网站(转)
    Img垂直居中
    http://www.apkbus.com/android-6231-1.html
  • 原文地址:https://www.cnblogs.com/xiyangchen/p/11144704.html
Copyright © 2011-2022 走看看