原题链接:109. Convert Sorted List to Binary Search Tree
【思路-Java】二分归并|递归实现
模仿二分归并的思想实现
public class Solution {
public TreeNode sortedListToBST(ListNode head) {
return rec(head, null);
}
private TreeNode rec(ListNode start, ListNode end) {
if(start == end) return null;
ListNode p = start, q = start;
while(q.next != end && q.next.next != end) {
q = q.next.next;
p = p.next;
}
TreeNode root = new TreeNode(p.val);
root.left = rec(start, p);
root.right = rec(p.next, end);
return root;
}
}
32 / 32
test cases passed. Runtime: 1 ms Your runtime beats 32.97% of javasubmissions.