题解 | #对称的二叉树#

对称的二叉树

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;

    }

}
*/
import java.util.*;
public class Solution {
    boolean isSymmetrical(TreeNode root) {
       

       return recursion(root,root);
    }
  //进行判断
    boolean recursion(TreeNode root1,TreeNode root2){
	  //如果根节点都为空说明对称
        if(root1==null&&root2==null){
            return true;
        }
	  //有一个节点为空或者两个节点值不同则不对称
        if(root1==null||root2==null||root1.val!=root2.val){
            return false;
        }
	  //只有左右子树都对称才返回true
        return recursion(root1.left,root2.right)&&recursion(root1.right,root2.left);
    }
}

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务