zoukankan      html  css  js  c++  java
  • 108. Convert Sorted Array to Binary Search Tree

    惭愧啊,虽然二刷和一刷思路运行时间都一样,但是二刷代码居然比一刷还繁琐。

    二刷傻了,居然分情况讨论有1,2,3个的时候。。其实直接来就行。

    public class Solution {
        public TreeNode sortedArrayToBST(int[] nums) 
        {
            if(nums.length == 0) return null;
    
            TreeNode res = helper(nums,0,nums.length-1);
            
            
            return res;
        }
        
        public TreeNode helper(int[] nums,int L, int R)
        {
            if(L == R) return new TreeNode(nums[L]);
            else if(L > R) return null;
            else
            {
                int M = L + (R - L)/2;
                TreeNode res = new TreeNode(nums[M]);
                res.left = helper(nums,L,M-1);
                res.right = helper(nums,M+1,R);
                
                return res;
            }
            
            
        }
        
        
    }
    


    三刷。

    按divide&conquer里的divide分,最后和一起就行了。

    递归,每次选中点M,left subtree (L~(m-1)) right subtree ((m+1) ~ R)

    Time : O(lgN)
    Space: O(lgN) memory stack.

    public class Solution {
        public TreeNode sortedArrayToBST(int[] nums) {
            if (nums.length == 0) return null;
            return helper(nums, 0, nums.length - 1);
        }
        
        public TreeNode helper(int[] nums, int l, int r) {
            if (l == r) {
                return new TreeNode(nums[l]);
            } else if (l > r) {
                return null;
            } else {
                int m = l + (r - l)/2;
                TreeNode res = new TreeNode(nums[m]);
                res.left = helper(nums, l, m - 1);
                res.right = helper(nums, m + 1, r);
                return res;
            }
        }
    }
    
  • 相关阅读:
    洛谷#P5652#基础博弈练习题
    hgoi#20191112
    hgoi#20191111
    hgoi#20191109
    洛谷#P3674#小清新人渣的本愿
    hgoi#20191108
    hgoi#20191107
    树上差分
    树链剖分(树剖)
    LCA(最近公共祖先)问题
  • 原文地址:https://www.cnblogs.com/reboot329/p/6103535.html
Copyright © 2011-2022 走看看