[leetcode]#101. Symmetric Tree

来源:互联网 发布:阿里巴巴域名备案 编辑:程序博客网 时间:2024/06/05 18:26
  • 判断二叉树是否为对称的。
  • 递归,对于每个节点,检查树的左右节点值是否相等,同时判断:左节点的左子树和右节点的右子树是否对称、右节点的左子树和左节点的右子树是否对称。
# Definition for a  binary tree node# class TreeNode:#     def __init__(self, x):#         self.val = x#         self.left = None#         self.right = Noneclass Solution:    # @param root, a tree node    # @return a boolean    def help(self, p, q):        if p == None and q == None: return True        if p and q and p.val == q.val:            return self.help(p.right, q.left) and self.help(p.left, q.right)        return False    def isSymmetric(self, root):        if root:            return self.help(root.left, root.right)        return True
原创粉丝点击