Leetcode题解 0028期

大概之后不会每日更新这个了,已经100题完成目前任务,以后想动脑子的时候会回来做几题。
今天更新一道。

0101题 对称二叉树【Symmetric Tree】

题目:
给定一个二叉树,检查它是否是镜像对称的。
说明:
如果你可以运用递归和迭代两种方法解决这个问题,会很加分。
例如,二叉树 [1,2,2,3,4,4,3] 是对称的。

    1
   / \
  2   2
 / \ / \
3  4 4  3

但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:

    1
   / \
  2   2
   \   \
   3    3

题目相对严谨

经典题目除Robust外无需注意太多

解题思路:
就简单递归……其实迭代思路和递归一样,就不再赘述。

class Solution:
    def check(self, node1, node2):
        if node1 == None and node2 == None: return True
        if node1 == None or node2 == None: return False
        if node1.val != node2.val: return False
        return self.check(node1.left, node2.right) and self.check(node1.right,node2.left)


    def isSymmetric(self, root):
        if root == None: return True
        return self.check(root.left, root.right)

猜你喜欢

转载自blog.csdn.net/bright_silmarillion/article/details/80862808