Java for LeetCode 109 Convert Sorted List to Binary Search Tree

weixin_30488085發表於2020-04-06

Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.

解題思路:

同上題,JAVA實現如下:

    public TreeNode sortedListToBST(ListNode head) {
        ArrayList<Integer> list=new ArrayList<Integer>();
        while(head!=null){
        	list.add(head.val);
        	head=head.next;
        }
        return sortedListToBST(list,0,list.size()-1);
    }
	static public TreeNode sortedListToBST(ArrayList<Integer> list, int begin, int end) {
		if (begin>end)
			return null;
		TreeNode root = new TreeNode(list.get((begin+end) / 2));
		root.left=sortedListToBST(list,begin,(begin+end) / 2-1);
		root.right=sortedListToBST(list,(begin+end) / 2+1,end);
		return root;
	}

 

轉載於:https://www.cnblogs.com/tonyluis/p/4524797.html

相關文章