コード例 #1
0
def test():
    null = None
    assert Solution().convertBST(
        TreeNode.from_list(
            [4, 1, 6, 0, 2, 5, 7, null, null, null, 3, null, null, null,
             8])) == TreeNode.from_list([
                 30, 36, 21, 36, 35, 26, 15, null, null, null, 33, null, null,
                 null, 8
             ])
コード例 #2
0
# Definition for a binary treeTreeNode.
from tree_node import TreeNode


class Solution:
    def isSymmetric(self, root: TreeNode):
        if root is None:
            return True
        return self.isSymmetricRec(root.left, root.right)

    def isSymmetricRec(self, left, right):
        if left is None and right is None:
            return True
        if left is None or right is None or left.val != right.val:
            return False
        return self.isSymmetricRec(left.right,
                                   right.left) and self.isSymmetricRec(
                                       left.left, right.right)


if __name__ == '__main__':
    root = TreeNode.from_list([1, 2, 2, None, 3, None, 3])
    print(root)
    sol = Solution()
    print(sol.isSymmetric(root))
コード例 #3
0
def test():
    assert Solution().isUnivalTree(
        TreeNode.from_list([1, 1, 1, 1, 1, None, None, None]))
コード例 #4
0
def test():
    assert Solution().maxPathSum(TreeNode.from_list([-2, -1])) == -1
    assert Solution().maxPathSum(TreeNode.from_list([1, 2, 3])) == 6
    assert Solution().maxPathSum(
        TreeNode.from_list([-10, 9, 20, None, None, 15, 7])) == 42
コード例 #5
0
def test():
    assert Solution().trimBST(TreeNode.from_list([1, 0, 2]), 1,
                              2) == TreeNode.from_list([1, None, 2])
    assert Solution().trimBST(
        TreeNode.from_list([3, 0, 4, None, 2, None, None, 1]), 1,
        3) == TreeNode.from_list([3, 2, None, 1])
コード例 #6
0
def test():
    null = None
    data = Codec().serialize(TreeNode.from_list([1, 2, 3, null, null, 4, 5]))
    assert Codec().deserialize(data) == TreeNode.from_list(
        [1, 2, 3, null, null, 4, 5])