C# short solution
\n    public TreeNode SortedArrayToBST(int[] nums) {\n        return ToBst(0, nums.Length - 1);\n\n        TreeNode ToBst(int left, int right) {\n            if
```\n    public TreeNode SortedArrayToBST(int[] nums) {\n        return ToBst(0, nums.Length - 1);\n\n        TreeNode ToBst(int left, int right) {\n            if (left > right) return null;\n\n            var middle = left + (right - left) / 2;\n            return new TreeNode(nums[middle]) {\n                left = ToBst(left, middle - 1),\n                right = ToBst(middle + 1, right)\n            };\n        }\n    }\n```
['Recursion']