convert sorted array to binary search tree

来源:互联网 发布:大数据北京培训机构 编辑:程序博客网 时间:2024/06/06 01:28

Given an array where elements are sorted in ascending order, convert it to a height balanced BST.

要比convert sorted linked list简单

/** * Definition for binary tree * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */public class Solution {    public TreeNode sortedArrayToBST(int[] num) {        int len = num.length;        if(len == 0) return null;        return sortedArrayToBST(num,0,len-1);            }    public TreeNode sortedArrayToBST(int a[], int left, int right){        if(left>right) return null;                int mid = (left+right)/2;                TreeNode parent = new TreeNode(a[mid]);                TreeNode leftC = sortedArrayToBST(a,left,mid-1);        parent.left = leftC;        TreeNode rightC = sortedArrayToBST(a,mid+1,right);        parent.right = rightC;                return parent;    }}


0 0
原创粉丝点击