递归
private static TreeNode sortedArrayToBST(int[] nums, int left, int right) {
if (left > right) {
return null;
}
// always choose left middle node as a root
int p = (left + right) / 2;
// inorder traversal: left -> node -> right
TreeNode root = new TreeNode(nums[p]);
root.left = sortedArrayToBST(nums, left, p - 1);
root.right = sortedArrayToBST(nums, p + 1, right);
return root;
}
如果是链表转树就先转成列表