public TreeNode sortedArrayToBST(int[] num) { if(num.length==0||num==null) return null; TreeNode rootNode =new TreeNode(0); int start=0,end=num.length-1; createTree(rootNode, num, start, end); return rootNode; } public void createTree(TreeNode root,int []num, int start,int end) { if(start>end) { root=null; return; } int mid=(start+end)/2; if(start<=mid-1) { root.left=new TreeNode(0); createTree(root.left, num, start, mid-1); } root.val=num[mid]; if(mid+1<=end) { root.right=new TreeNode(0); createTree(root.right, num, mid+1, end); } }
leetcode_108_Convert Sorted Array to Binary Search Tree
原文:http://blog.csdn.net/mnmlist/article/details/44655287