这个递归的思路很清晰

# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

#
# 
# @param root TreeNode类 
# @return bool布尔型
#
class Solution:
    def isSymmetric(self , root ):
        # write code here
        def helper(left, right):
            if not left and not right:
                return True
            elif not left or not right:
                return False
            elif left.val != right.val:
                return False
            else:                
                outside = helper(left.left, right.right)
                inside = helper(left.right, right.left)
                return outside and inside
        if not root:
            return True
        return helper(root.left, root.right)