Leetcode-Easy 101. Symmetric Tree

101. Symmetric Tree

  • 描述:
    判断一个颗二叉树是否左右对称


  • 思路:

将二叉树的左右节点对放在的队列里,然后出队,判断节点对的左右是否相等。

  • 代码
class Solution:
    def isSymmetric(self, root):
        if not root:
            return True

        dq = collections.deque([(root.left,root.right),])
        while dq:
            node1, node2 = dq.popleft()
            if not node1 and not node2:
                continue
            if not node1 or not node2:
                return False
            if node1.val != node2.val:
                return False
            # node1的左与node2的右相对陈
            dq.append((node1.left,node2.right))
            dq.append((node1.right,node2.left))
        return True

为了证明博客为本人所有,请将以下声明添加至原博客最新一篇博文的底部:

我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan

你可能感兴趣的:(Leetcode-Easy 101. Symmetric Tree)