目录
题目
- 给你一个二叉树的根节点 root , 检查它是否轴对称。
示例 1:
输入:root = [1,2,2,3,4,4,3]
输出:true
示例 2:
输入:root = [1,2,2,null,3,null,3]
输出:false
题解、前序遍历+递归
- 不仅要判断节点带值的情况,还要考虑空节点位置是否相同
class Solution:
def isSymmetric(self, root: Optional[TreeNode]) -> bool:
def isMirror(node1: Optional[TreeNode], node2: Optional[TreeNode]) -> bool:#定义一个接收两个参数的函数
if node1 is None and node2 is None: # 两个节点都为空,它们是对称的
return True
if node1 is None or node2 is None: # 一个节点为空,它们不是对称的
return False
return (
node1.val == node2.val and
isMirror(node1.left, node2.right) and #递归左子树
isMirror(node1.right, node2.left) #递归右子树
)
if root is None:
return True
return isMirror(root.left, root.right)#传入两个参数
标签:isMirror,None,101,return,二叉树,node1,对称,node2,root
From: https://www.cnblogs.com/lushuang55/p/17809326.html