题解 | #对称的二叉树#

对称的二叉树

http://www.nowcoder.com/practice/ff05d44dfdb04e1d83bdbdab320efbcb

很显然,二叉树是否对称的条件是:左子树的右结点等于右子树的左结点。 那么,可以使用递归的方式。

/*
public class TreeNode {
    int val = 0;
    TreeNode left = null;
    TreeNode right = null;

    public TreeNode(int val) {
        this.val = val;

    }

}
*/
public class Solution {
    boolean isSame(TreeNode root1, TreeNode root2) {
        if (root1 == null && root2 == null)
            return true;
        else if (root1 == null || root2 == null)
            return false;
        return root1.val == root2.val && 
            isSame(root1.left, root2.right) &&
            isSame(root1.right, root2.left);
    }
    boolean isSymmetrical(TreeNode pRoot) {
        return isSame(pRoot, pRoot);
    }
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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