• 2.11

    • 秒了
  • 1.26

    • 秒了
  • 1.16

    • 思路想到了,但是没想到这么简单,递归取 mid 就行
  • 11.11

    • 挺有意思,递归的其实是数组,每次递归从中间分为两半(同时将中间节点生成新root),递归两边
class Solution {
    public TreeNode sortedArrayToBST(int[] nums) {
        return hello(nums,0,nums.length-1);
    }
    public TreeNode hello(int[] nums,int l,int r){
        if(r<l){
            return null;
        }
        int mid =  (r+l)/2;
        TreeNode root = new TreeNode(nums[mid]);
        root.left = hello(nums,l,mid-1);
        root.right = hello(nums,mid+1,r);
        return root;
    }
}
  • 以数组左右边界不相等为结束条件
  • 在递归中创建节点后指定左右叶子结点进入递归