1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
public class { public TreeNode sortedArrayToBST(int[] nums) { if (nums.length < 1) return null; if (nums.length == 1) { return new TreeNode(nums[0]); } int len = nums.length; TreeNode tNode = new TreeNode(nums[len / 2]); dp(nums, 0, len / 2 - 1, tNode, true); dp(nums, len / 2 + 1, len - 1, tNode, false); return tNode; }
public void dp(int[] nums, int left, int right, TreeNode tNode, boolean l) {
if (left > right) return; int mid = (right - left) / 2 + left; TreeNode t = new TreeNode(nums[mid]); if (l) { System.out.println("left" + t.val); tNode.left = t; } else { System.out.println("right" + t.val); tNode.right = t; } dp(nums, left, mid - 1, t, true); dp(nums, mid + 1, right, t, false);
} }
|
近期评论