判断一棵二叉树是不是对称的

来源:互联网 发布:人工智能创意文案 编辑:程序博客网 时间:2024/06/04 08:14
public class Solution {    boolean isSymmetrical(TreeNode pRoot)    {        TreeNode node = getMirror(pRoot);        return isSymmetrical(pRoot,node);    }    boolean isSymmetrical(TreeNode pRoot,TreeNode node)    {        if(pRoot == null && node == null){            return true;        }else if(pRoot == null || node  == null){            return false;        }        if(pRoot.val == node.val){            return isSymmetrical(pRoot.left,node.left)&&isSymmetrical(pRoot.right,node.right);        }       return false;    }      TreeNode getMirror(TreeNode pRoot){
        if (pRoot == null) {
            return null;
        }
        TreeNode root = new TreeNode(pRoot.val);
        root.right = getMirror(pRoot.left);
        root.left = getMirror(pRoot.right);
        return root;
    }
}

阅读全文
0 0
原创粉丝点击