Esempio n. 1
0
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))