Exemple #1
0
def main():
    print(
        isSymmetric(
            TreeNode.make([5, 4, 1, None, 1, None, 4, 2, None, 2,
                           None])))  # False
    print(isSymmetric(TreeNode.make([1, 2, 2, 3, 4, 4, 3])))  # True
    print(isSymmetric(TreeNode.make([1, 2, 2, None, 3, None, 3])))  # False
Exemple #2
0
def main():
    print(hasPathSum(TreeNode.make([]), 0))  # False
    print(
        hasPathSum(TreeNode.make([3, 4, 5, 1, 2, None, None, None, None, 0]),
                   9))  # True
    print(
        hasPathSum(
            TreeNode.make(
                [5, 4, 8, 11, None, 13, 4, 7, 2, None, None, None, 1]), 22))
Exemple #3
0
 def test(nums: List[int], p: int, q: int) -> TreeNode:
     root = TreeNode.make(nums)
     # print(root.show())
     node = commonAncestor(root, root.find(p), root.find(q))
     return node.val
Exemple #4
0
def main():
    print(maxDepth(TreeNode.make([3, 9, 20, None, None, 15, 7])))       # 3
    print(maxDepth(TreeNode.make([])))                                  # 3
Exemple #5
0
def main():
    print(maxPathSum(TreeNode.make([-2, -1, -1])))                      # 10
    print(maxPathSum(TreeNode.make([1, 2, 3, 4])))                      # 10
    print(maxPathSum(TreeNode.make([1, -2, -3, 1, 3, -1, None, -1])))   # 3
    print(maxPathSum(TreeNode.make([1, 2, 3])))                         # 6
    print(maxPathSum(TreeNode.make([-10, 9, 20, None, None, 15, 7])))   # 42
Exemple #6
0
def main():
    print(inorderTraversal(TreeNode.make([1, None, 2, 3])))  # [1, 3, 2]
    nums = [5, 4, 1, None, 1, None, 4, 2, None, 2, None]
    print(inorderTraversal(TreeNode.make(nums)))  # [4, 2, 1, 5, 1, 2, 4]
Exemple #7
0
def main():
    print(isValidBST(TreeNode.make([-2147483648])))  # True
    print(isValidBST(TreeNode.make([1, 1])))  # False
    print(isValidBST(TreeNode.make([2, 1, 3])))  # True
    print(isValidBST(TreeNode.make([5, 1, 4, None, None, 3, 6])))  # False
    print(isValidBST(TreeNode.make([10, 5, 15, None, None, 6, 20])))  # False
Exemple #8
0
def main():
    print(zigzagLevelOrder(TreeNode.make([3, 9, 20, None, None, 15, 7])))
Exemple #9
0
def main():
    print(levelOrder(TreeNode.make([3, 9, 20, None, None, 15,
                                    7])))  # [[3], [9, 20], [15, 7]]
    print(levelOrder(TreeNode.make([])))  # []
Exemple #10
0
def main():
    print(kthSmallest(TreeNode.make([3, 1, 4, None, 2]), 1))  # 1
    print(kthSmallest(TreeNode.make([5, 3, 6, 2, 4, None, None, 1]), 3))  # 3
Exemple #11
0
def main():
    root = TreeNode.make([1, 2, 3, None, 5, None, 4])
    print(rightSideView(root))  # [1, 3, 4]