首页 > 代码库 > 109. Convert Sorted List to Binary Search Tree

109. Convert Sorted List to Binary Search Tree

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

 

BST

public TreeNode SortedListToBST(ListNode head) {        TreeNode tree = null;        if(head == null) return tree;        if(head.next == null) return new TreeNode(head.val);        //find the middle pionter;        var walker = head;        var runner = head;        var prev = new ListNode(-1);        while(runner != null && runner.next != null)        {            prev = walker;            walker = walker.next;            runner = runner.next.next;        }        prev.next =null;        //root        tree = new TreeNode(walker.val);        //subtree        tree.left = SortedListToBST(head);        tree.right = SortedListToBST(walker.next);        return tree;    }

 

109. Convert Sorted List to Binary Search Tree