给你一个二叉树的根节点 root , 检查它是否轴对称。
示例 1:
输入:root = [1,2,2,3,4,4,3] 输出:true
示例 2:
输入:root = [1,2,2,null,3,null,3] 输出:false
思路
比较左右子树的镜像关系 = 左右子树根节点的值是否相等 && 左子树的左子树 和 右子树的右子树是不是镜像关系 && 左子树的右子树 和 右子树的左子树 是不是镜像关系
代码
class Solution {
public boolean isSymmetric(TreeNode root) {
if(root == null){
return true;
}
return isMirror(root.left,root.right);
}
public boolean isMirror(TreeNode p,TreeNode q){
if(p == null && q == null){
return true;
}
if(p == null || q == null){
return false;
}
//比较根节点的值是否相同
if(p.val != q.val){
return false;
}
return isMirror(p.left,q.right)&& isMirror(p.right,q.left);
}
}
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/symmetric-tree
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。