Untitled
unknown
plain_text
a year ago
843 B
5
Indexable
def sortedListToBST(self, head: Optional[ListNode]): def getMiddle(head): preHead = ListNode(-1000000000, head) fast = preHead slow = preHead pre = slow while fast is not None: fast = fast.next if fast is not None: fast = fast.next pre = slow slow = slow.next return pre def BT(node): if node is None: return None middle_pointer = getMiddle(node) middle = middle_pointer.next if middle is None: return TreeNode(node.val) middle_pointer.next = None curr = TreeNode(middle.val) if node != middle: curr.left = BT(node) curr.right = BT(middle.next) return curr return BT(head)
Editor is loading...
Leave a Comment