Skip to content

Binary Search Tree

Table of Contents

270. Closest Binary Search Tree Value

272. Closest Binary Search Tree Value II

  • LeetCode | 力扣

  • Tags: Two Pointers, Stack, Tree, Depth First Search, Binary Search Tree, Heap Priority Queue, Binary Tree

255. Verify Preorder Sequence in Binary Search Tree

  • LeetCode | 力扣

  • Tags: Array, Stack, Tree, Binary Search Tree, Recursion, Monotonic Stack, Binary Tree

from typing import List


# BST
def verifyPreorder(preorder: List[int]) -> bool:
    stack = []
    low = float("-inf")

    for value in preorder:
        if value < low:
            return False
        while stack and value > stack[-1]:
            low = stack.pop()
        stack.append(value)

    return True


if __name__ == "__main__":
    assert verifyPreorder([8, 5, 1, 7, 10, 12]) is True
    assert verifyPreorder([8, 5, 4, 3, 2, 1]) is True

1214. Two Sum BSTs

  • LeetCode | 力扣

  • Tags: Two Pointers, Binary Search, Stack, Tree, Depth First Search, Binary Search Tree, Binary Tree

333. Largest BST Subtree

  • LeetCode | 力扣

  • Tags: Dynamic Programming, Tree, Depth First Search, Binary Search Tree, Binary Tree

Comments