Symmetric-Tree

####Symmetric Tree

原题地址:https://oj.leetcode.com/problems/symmetric-tree/

题意:判断二叉树是否为对称的。

Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).

解题思路:这题也不难。需要用一个help函数,当然也是递归的。当存在左右子树时,判断左右子树的根节点值是否相等,如果想等继续递归判断左子树根的右子树根节点和右子树根的左子树根节点以及左子树根的左子树根节点和右子树根的右子树根节点的值是否相等。然后一直递归判断下去就可以了。

class Solution:

# @param root, a tree node
# @return a boolean
def isSymmetric(self, root):
    if root:
        return self.helper(root.left, root.right) 
    return True    

def helper(self, p, q):
    if p == q == None:
        return True
    if p and q and  q.val== p.val:
        return self.helper(p.left, q.right) and self.helper(p.right, q.left)
    return False