面试题59:对称的二叉树

来源:互联网 发布:mac手游模拟器 编辑:程序博客网 时间:2024/06/04 05:23

/*思路:首先根节点以及其左右子树,左子树的左子树和右子树的右子树相同
* 左子树的右子树和右子树的左子树相同即可,采用递归
* 非递归也可,采用栈或队列存取各级子树根节点
*/

/*public class TreeNode {    int val = 0;    TreeNode left = null;    TreeNode right = null;    public TreeNode(int val) {        this.val = val;    }}*/public class Solution {    boolean isSymmetrical(TreeNode pRoot)    {        return isSymmetrical(pRoot,pRoot);    }        boolean isSymmetrical(TreeNode p1,TreeNode p2){        if(p1==null&&p2==null)            return true;        if(p1==null||p2==null)            return false;        if(p1.val!=p2.val)            return false;         return isSymmetrical(p1.left,p2.right)&&isSymmetrical(p1.right,p2.left);    }}


原创粉丝点击