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 ])
# 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))
def test(): assert Solution().isUnivalTree( TreeNode.from_list([1, 1, 1, 1, 1, None, None, None]))
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
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])
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])