99.Recover-Binary-Search-Tree
99. Recover Binary Search Tree
题目地址
https://leetcode.com/problems/recover-binary-search-tree/
题目描述
Two elements of a binary search tree (BST) are swapped by mistake.
Recover the tree without changing its structure.
Example 1:
Input: [1,3,null,null,2]
1
/
3
\
2
Output: [3,1,null,null,2]
3
/
1
\
2
Example 2:
Input: [3,1,4,null,null,2]
3
/ \
1 4
/
2
Output: [2,1,4,null,null,3]
2
/ \
1 4
/
3
Follow up:
A solution using O(n) space is pretty straight forward.
Could you devise a constant space solution?代码
Approach 1: Sort an Almost Sorted Array Where Two Elements Are Swapped
Approach #2 Iterative Inorder Traversal
Complexity Analysis
Time complexity : O(1) in the best case, and O(N) in the worst case when one of the swapped nodes is a rightmost leaf.
Space complexity : up to O(H) to keep the stack where H is a tree height.
Approach #3 Recursive Inorder Traversal
Approach #4 Morris Inorder Traversal
Last updated
Was this helpful?