力扣101:对称二叉树

在这里插入图片描述
在这里插入图片描述接下来就是要把这些问题转变为代码形式

class Solution {
    
    

public boolean isSymmetricChild(TreeNode leftTree,TreeNode rightTree){
    
      //定义左子树和右子树的一些情况方法
if(leftTree == null && rightTree == null){
    
      //都为空,是对称的
    return true;
}
if(leftTree == null && rightTree != null){
    
     //一个为空一个不为空
    return false;
}
if(leftTree != null && rightTree == null){
    
    
    return false;
}

if(leftTree.val != rightTree.val) return false;  //左子树对应的跟右子树不相等
return isSymmetricChild(leftTree.left,rightTree.right) && isSymmetricChild(leftTree.right,rightTree.left);
} //递归左子树左与右子树右 和左子树右和右子树左

    public boolean isSymmetric(TreeNode root) {
    
    
        if(root == null) return true; //空树,是
return (isSymmetricChild(root.left,root.right)); //左跟右的方法递归
    
}
    
}

看代码可能还是很懵蔽,接下来就把递归展开看看
在这里插入图片描述链接:对称二叉树!

猜你喜欢

转载自blog.csdn.net/chenbaifan/article/details/123601726