自做网站视频,前端网站默认登录怎么做,湛江手机建站模板,画册设计是什么给定一个单链表#xff0c;其中的元素按升序排序#xff0c;将其转换为高度平衡的二叉搜索树。本题中#xff0c;一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定的有序链表#xff1a; [-10, -3, 0, 5, 9],一个可能的答案是…给定一个单链表其中的元素按升序排序将其转换为高度平衡的二叉搜索树。本题中一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定的有序链表 [-10, -3, 0, 5, 9],一个可能的答案是[0, -3, 9, -10, null, 5], 它可以表示下面这个高度平衡二叉搜索树0/ \-3 9/ /-10 5
class Solution {public TreeNode sortedListToBST(ListNode head) {ArrayListInteger listnew ArrayList();while (head!null){list.add(head.val);headhead.next;}return toBST(list,0,list.size()-1);}public TreeNode toBST(ArrayListInteger list,int l,int r) {if(lr) return null;int mid(r-l)/2l;TreeNode tempnew TreeNode(list.get(mid));temp.lefttoBST( list, l, mid-1);temp.righttoBST(list, mid1, r);return temp;}
}