Wednesday, September 11, 2013
Tuesday, September 10, 2013
Recover Binary Search Tree
LeetCode
Two elements of a binary search tree (BST) are swapped by mistake.
Recover the tree without changing its structure.
Note:A solution using O(n) space is pretty straight forward. Could you devise a constant space solution?
confused what
"{1,#,2,3}"
means? > read more on how binary tree is serialized on OJ.
Solution:
Use an extra class called Pre_first_second, which is used to record the previous node of current root node, first wrong node and second wrong node, preoder-traverse the entire tree find the invalid two nodes and store hem into pre-first_sercond structure.
Unique Binary Search Trees II
Given n, generate all structurally unique BST's (binary search trees) that store values 1...n.
For example,
Given n = 3, your program should return all 5 unique BST's shown below.
Given n = 3, your program should return all 5 unique BST's shown below.
1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 / / \ \ 2 1 2 3
Solution : Divide and Conquer
from 1-> n, for each point calculate left side trees and right side trees and then construct them together.
Subscribe to:
Posts (Atom)