Leetcode-Easy 101. Symmetric Tree

时间:2022-05-08
本文章向大家介绍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