题解 | #对称的二叉树#
对称的二叉树
https://www.nowcoder.com/practice/ff05d44dfdb04e1d83bdbdab320efbcb
/*
public class TreeNode {
int val = 0;
TreeNode left = null;
TreeNode right = null;
public TreeNode(int val) {
this.val = val;
}
}
*/
public class Solution {
boolean check(TreeNode root1, TreeNode root2){
if(root1 == null && root2 == null){
return true;
}
if(root1 == null && root2 != null || root1 != null && root2 == null || root1.val != root2.val){
return false;
}
return check(root1.left, root2.right) && check(root1.right, root2.left);
}
boolean isSymmetrical(TreeNode pRoot) {
//判断二叉树对称
//对称的要求是,每一层,最左边的节点值等于最右边的节点值
//左右分开来看
//左树的最右边,是否等于右树的最左边
if(pRoot == null){
return true;
}
return check(pRoot,pRoot);
}
}
查看20道真题和解析