leetcode_101 对称二叉树

题解

给定一个二叉树,检查它是否是镜像对称的。

例如,二叉树 [1,2,2,3,4,4,3] 是对称的。

    1
   / \
  2   2
 / \ / \
3  4 4  3

但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:

    1
   / \
  2   2
   \   \
   3    3

题解:

class Solution {
    public boolean isSymmetric(TreeNode root) {

        if(root == null){
            return true;
        }

       return symmetric(root.left, root.right);

    }

    private boolean symmetric(TreeNode p, TreeNode q){
        if(p== null && q == null){
            return true;
        } 
        if( p == null || q== null){
            return false;
        }
        if(p.val != q.val){
            return false;
        }
        return symmetric(p.left, q.right) && symmetric(p.right,q.left);
    }

你可能感兴趣的:(编码,Leetcode)