def main(): import sys from os.path import join, abspath sys.path.append(join('..', 'common')) from utils import build_oj_binary_tree root = build_oj_binary_tree([3,2,3,'#',3,'#',1]) result = Solution().rob(root) print result root = build_oj_binary_tree([3,4,5,1,3,'#',1]) result = Solution().rob(root) print result root = build_oj_binary_tree([4,1,'#',2,'#',3]) result = Solution().rob(root) print result
def main(): import sys from os.path import join, abspath sys.path.append(join('..', 'common')) from utils import build_oj_binary_tree root = build_oj_binary_tree([1,'#',2,3]) result = Solution().postorderTraversal(root) print result
def main(): import sys from os.path import join, abspath sys.path.append(join('..', 'common')) from utils import build_oj_binary_tree root, k = build_oj_binary_tree([3,2,4,1]), 2 result = Solution().kthSmallest(root, k) print result
def main(): import sys from os.path import join, abspath sys.path.append(join('..', 'common')) from utils import build_oj_binary_tree root = build_oj_binary_tree([1,2,3,4,5]) postorder(root) result = Solution().countNodes(root) print result
def main(): import sys from os.path import join, abspath sys.path.append(join('..', 'common')) Solution().flatten(None) from utils import build_oj_binary_tree root = build_oj_binary_tree([1,2,5,3,4,'#',6]) Solution().flatten(root) inorder(root)
def main(): import sys from os.path import join, abspath sys.path.append(join('..', 'common')) from utils import build_oj_binary_tree root = build_oj_binary_tree([3,9,20,'#','#',15,7]) print '->'.join(str(n) for n in postorder_traversal(root)) result = Solution().zigzagLevelOrder(root) print result
def main(): import sys from os.path import join, abspath sys.path.append(join('..', 'common')) from utils import build_oj_binary_tree root = build_oj_binary_tree([1,'#',2,3]) result = Solution().isValidBST(root) print preorder(root), result root = build_oj_binary_tree([2,1,3]) result = Solution().isValidBST(root) print preorder(root), result root = build_oj_binary_tree([1,1]) result = Solution().isValidBST(root) print preorder(root), result root = build_oj_binary_tree([10,5,15,'#','#',6,20]) result = Solution().isValidBST(root) print preorder(root), result
def main(): import sys from os.path import join, abspath sys.path.append(join('..', 'common')) result = Solution().sumNumbers(None) print result from utils import build_oj_binary_tree root = build_oj_binary_tree([1,2,3]) result = Solution().sumNumbers(root) print result
def main(): import sys from os.path import join, abspath sys.path.append(join('..', 'common')) from utils import build_oj_binary_tree root = build_oj_binary_tree([3,5,1,6,2,0,8,'#','#',7,4]) print '->'.join(str(n) for n in preorder(root)) p = root.left q = root.right q = root.left.right.right result = Solution().lowestCommonAncestor(root, p, q) print result.val
def main(): import sys from os.path import join, abspath sys.path.append(join("..", "common")) result = Solution().rightSideView(None) print result from utils import build_oj_binary_tree root = build_oj_binary_tree([1, 2, 3, 4]) result = Solution().rightSideView(root) print result
def main(): import sys from os.path import join, abspath sys.path.append(join('..', 'common')) from utils import build_oj_binary_tree root = build_oj_binary_tree([1,2,3,'#',4,5]) preorder = preorder_traversal(root) inorder = inorder_traversal(root) postorder = postorder_traversal(root) print '->'.join(str(n) for n in preorder) print '->'.join(str(n) for n in inorder) print '->'.join(str(n) for n in postorder) result = Solution().buildTree(preorder, inorder) print '->'.join(str(n) for n in postorder_traversal(result))
def main(): import sys from os.path import join, abspath sys.path.append(join("..", "common")) from utils import build_oj_binary_tree root = build_oj_binary_tree([1, 2, 3, "#", 4, 5]) preorder = preorder_traversal(root) inorder = inorder_traversal(root) postorder = postorder_traversal(root) print "->".join(str(n) for n in preorder) print "->".join(str(n) for n in inorder) print "->".join(str(n) for n in postorder) result = Solution().buildTree(inorder, postorder) print "->".join(str(n) for n in preorder_traversal(result))