对称二叉树
一、题目描述
给一个二叉树的根节点root,检查它是否为轴对称。
实例
输入:root = [1,2,2,3,4,4,3]
输出:true
输入:root = [1,2,2,null,3,null,3]
输出:false
二、解题思路
树是轴对称,遍历树,右子树要和左子树镜像对称。
三、解题思路
方法1
使用一个递归函数,有一个双指针。同时开始遍历树。指针开始都是指向根节点。p右移,q左移、p左移q右移。即可
代码实现
class Solution {
public boolean isSymmetric(TreeNode root) {
return check(root, root);
}
public boolean check(TreeNode p, TreeNode q) {
if (p == null && q == null) {
return true;
}
if (p == null || q == null) {
return false;
}
return p.val == q.val && check(p.left, q.right) && check(p.right, q.left);
}
}
标签:return,TreeNode,二叉树,对称,null,root,check
From: https://www.cnblogs.com/zjjtt/p/16717754.html