Ezvor

272. Closest Binary Search Tree Value II

HardTwo Pointers Preparing judge… LeetCode
Two PointersStackTreeDepth-First SearchBinary Search TreeHeap (Priority Queue)Binary Tree

Hints

Hint 1
Consider implement these two helper functions:
  1. getPredecessor(N), which returns the next smaller node to N.
  2. getSuccessor(N), which returns the next larger node to N.
Hint 2
Try to assume that each node has a parent pointer, it makes the problem much easier.
Hint 3
Without parent pointer we just need to keep track of the path from the root to the current node using a stack.
Hint 4
You would need two stacks to track the path in finding predecessor and successor node separately.