思路:
参考上一条,先将链表变成数组。
var sortedListToBST = function(head) {
const nums = [];
while(head){
nums.push(head.val);
head = head.next;
}
const dg = (nums) => {
if(!nums.length)return null;
let mid = (nums.length - 1) >> 1;
let root = new TreeNode(nums[mid]);
root.left = dg(nums.slice(0, mid));
root.right = dg(nums.slice(mid + 1, nums.length))
return root;
}
return dg(nums);
};