コード例 #1
0
def test():
    assert Solution().findTilt(root=build_tree_node([])) == 0
    assert Solution().findTilt(root=build_tree_node([1, 2, 3])) == 1
    assert Solution().findTilt(
        root=build_tree_node([4, 2, 9, 3, 5, None, 7])) == 15
    assert Solution().findTilt(
        root=build_tree_node([21, 7, 14, 1, 1, 2, 2, 3, 3])) == 9
def test():
    null = None
    assert Solution().getDirections(root=build_tree_node(
        [5, 1, 2, 3, null, 6, 4]),
                                    startValue=3,
                                    destValue=6) == "UURL"
    assert Solution().getDirections(root=build_tree_node([2, 1]),
                                    startValue=2,
                                    destValue=1) == "L"
コード例 #3
0
def test():
    null = None
    tree = build_tree_node([6, 2, 8, 0, 4, 7, 9, null, null, 3, 5])
    assert Solution().lowestCommonAncestor(root=tree,
                                           p=TreeNode(2),
                                           q=TreeNode(8)) == tree
    assert Solution().lowestCommonAncestor(root=tree,
                                           p=TreeNode(2),
                                           q=TreeNode(4)) == build_tree_node(
                                               [2, 0, 4, null, null, 3, 5])
    assert Solution().lowestCommonAncestor(root=build_tree_node([2, 1]),
                                           p=TreeNode(2),
                                           q=TreeNode(1)) == build_tree_node(
                                               [2, 1])
コード例 #4
0
def test():
    null = None
    assert Solution().buildTree(inorder=[9, 3, 15, 20, 7], postorder=[9, 15, 7, 20, 3]) == \
           build_tree_node([3, 9, 20, null, null, 15, 7])

    assert Solution().buildTree(inorder=[-1],
                                postorder=[-1]) == build_tree_node([-1])
    assert Solution().buildTree(inorder=[2, 1, 3],
                                postorder=[2, 3,
                                           1]) == build_tree_node([1, 2, 3])
    assert Solution().buildTree(inorder=[2, 1],
                                postorder=[2, 1]) == build_tree_node([1, 2])
    assert Solution().buildTree(inorder=[1, 3],
                                postorder=[3,
                                           1]) == build_tree_node([1, null, 3])
コード例 #5
0
def test():
    null = None
    assert Solution().rob(
        root=build_tree_node([8, 1, null, 1, null, null, 9])) == 17
    assert Solution().rob(root=build_tree_node([3])) == 3
    assert Solution().rob(root=build_tree_node([3, 1, 4])) == 5
    assert Solution().rob(root=build_tree_node([3, 1, 1])) == 3
    assert Solution().rob(
        root=build_tree_node([3, 2, 3, null, 3, null, 1])) == 7
    assert Solution().rob(root=build_tree_node([3, 4, 5, 1, 3, null, 1])) == 9
コード例 #6
0
def test():
    root1 = build_tree_node([2, 1, 4])
    root2 = build_tree_node([])
    assert Solution().getAllElements(root1, root2) == [1, 2, 4]

    root1 = build_tree_node([2, 1, 4])
    root2 = build_tree_node([1, 0, 3])
    assert Solution().getAllElements(root1, root2) == [0, 1, 1, 2, 3, 4]

    root1 = build_tree_node([1, None, 8])
    root2 = build_tree_node([8, 1])
    assert Solution().getAllElements(root1, root2) == [1, 1, 8, 8]
コード例 #7
0
def test():
    null = None
    assert Solution().rangeSumBST(root=build_tree_node([10, 5, 15, 3, 7, null, 18]), low=7, high=15) == 32
    assert Solution().rangeSumBST(root=build_tree_node([10, 5, 15, 3, 7, 13, 18, 1, null, 6]), low=6, high=10) == 23
コード例 #8
0
def test():
    null = None
    tree_list = [22, 19, 24, 17, 21, 23, null, 16, 18, 20]
    root = build_tree_node(tree_list)
    ret_list = [21, 19, 24, 17, 20, 23, null, 16, 18]
    assert Solution().deleteNode(root=root,
                                 key=22) == build_tree_node(ret_list)
    # Delete root node
    ret = Solution().deleteNode(root=build_tree_node([2, 1, 3]), key=2)
    assert ret == build_tree_node([1, null, 3]) or ret == build_tree_node(
        [3, 1])

    assert Solution().deleteNode(root=build_tree_node([2, 1, 3]),
                                 key=1) == build_tree_node([2, null, 3])
    assert Solution().deleteNode(root=build_tree_node([2, 1, 3]),
                                 key=3) == build_tree_node([2, 1])
    assert Solution().deleteNode(root=build_tree_node([2, 1, 3]),
                                 key=4) == build_tree_node([2, 1, 3])

    ret = Solution().deleteNode(root=build_tree_node([5, 3, 6, 2, 4, null, 7]),
                                key=3)

    assert ret == build_tree_node([
        5, 4, 6, 2, null, null, 7
    ]) or ret == build_tree_node([5, 2, 6, null, 4, null, 7])
    assert Solution().deleteNode(root=build_tree_node([5, 3, 6, 2, 4, null, 7]), key=0) == \
           build_tree_node([5, 3, 6, 2, 4, null, 7])
    assert Solution().deleteNode(root=build_tree_node([]),
                                 key=0) == build_tree_node([])
コード例 #9
0
def test():
    assert Solution().tree2str(build_tree_node([1, 2, 3, 4])) == "1(2(4))(3)"
    assert Solution().tree2str(build_tree_node([1, 2, 3, None,
                                                4])) == "1(2()(4))(3)"
コード例 #10
0
def test():
    null = None
    assert Solution().widthOfBinaryTree(build_tree_node([1, 3, 2, 5, 3, null, 9])) == 4
コード例 #11
0
def test():
    assert Solution().distributeCoins(root=build_tree_node([3, 0, 0])) == 2
    assert Solution().distributeCoins(root=build_tree_node([0, 3, 0])) == 3
コード例 #12
0
def test():
    assert Solution().sumRootToLeaf(
        root=build_tree_node([1, 1, 1, 1, 1, 1, 1])) == 28
    assert Solution().sumRootToLeaf(
        root=build_tree_node([1, 0, 1, 0, 1, 0, 1])) == 22
    assert Solution().sumRootToLeaf(root=build_tree_node([0])) == 0
コード例 #13
0
def test():
    null = None
    assert Solution().lowestCommonAncestor(
        root=build_tree_node([3, 5, 1, 6, 2, 0, 8, null, null, 7, 4]),
        p=build_tree_node([5]),
        q=build_tree_node([1])).val == build_tree_node([3]).val
コード例 #14
0
def test():
    assert Solution().createBinaryTree(
        descriptions=[[20, 15, 1], [20, 17, 0], [50, 20, 1], [50, 80, 0],
                      [80, 19, 1]]) == build_tree_node(
                          [50, 20, 80, 15, 17, 19])
コード例 #15
0
def test():
    null = None
    assert Solution().sumOfLeftLeaves(root=build_tree_node([3, 9, 20, null, null, 15, 7])) == 24
    assert Solution().sumOfLeftLeaves(root=build_tree_node([1])) == 0
コード例 #16
0
def test():
    assert Solution().sumNumbers(root=build_tree_node([3])) == 3
    assert Solution().sumNumbers(root=build_tree_node([1, 2, 3])) == 25
    assert Solution().sumNumbers(root=build_tree_node([4, 9, 0, 5, 1])) == 1026
コード例 #17
0
def test():
    tree = build_tree_node([1, 2, None, 3])
    Solution().flatten(tree)
    assert tree == build_tree_node([1, None, 2, None, 3])