package common;
/**
* @author : zhaoliang
* @program :newCoder
* @description : 对称二叉树
* @create : 2020/12/16 19:12
*/
public class isSymmetrical {
//请实现一个函数,用来判断一棵二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
class TreeNode{
int val;
TreeNode left=null;
TreeNode right=null;
TreeNode(int x){
this.val = x;
}
}
public boolean isSymmetrical(TreeNode root){
if (root==null)return true;
return miror(root,root);
}
private boolean miror(TreeNode left, TreeNode right) {
if (left==null && right==null)return true;
if (left==null || right==null)return false;
if (left.val!=right.val)return false;
boolean left1 = miror(left.left,right.right);
boolean right1 = miror(left.right,right.left);
return left1 && right1;
}
}
常见算法-对称二叉树
最新推荐文章于 2022-09-28 09:43:28 发布