2019-08-23剑指 对称的二叉树

2019-08-23  本文已影响0人  mztkenan

10min,找不到错误的时候还是得样例运行一下。
基本思路就是,比较两个子树是否对称,子树对称的标准是
1.root1.val==root2.val
2.root1.left==root2.right, root1.right==root2.left
另外的思路是利用stack,不断加成对的节点加入stack,然后进行比较

class Solution:
    def isSymmetrical(self, pRoot):
        if not pRoot:return True  #这里又忘了加not
        return self.dfs(pRoot.left,pRoot.right)

    def dfs(self,pRoot1,pRoot2):
        if not pRoot1 and not pRoot2:return True
        if not pRoot1 or not pRoot2:return False
        if pRoot1.val==pRoot2.val:
            return self.dfs(pRoot1.left,pRoot2.right) and self.dfs(pRoot1.right,pRoot2.left)
        else:return False
上一篇下一篇

猜你喜欢

热点阅读