Java for LeetCode 101 Symmetric Tree

Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).

For example, this binary tree is symmetric:

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

But the following is not:

    1
   / \
  2   2
   \   \
   3    3

解题思路:

重载一个isSymmetric判断两棵树是否对称即可,JAVA实现如下:

    public boolean isSymmetric(TreeNode root) {
    	if(root==null)
    		return true;	
    	return isSymmetric(root.left,root.right);
    }
	public boolean isSymmetric(TreeNode left,TreeNode right){
		if(left==null||right==null)
			return left==null&&right==null;
		if(left.val!=right.val)
			return false;
		return(isSymmetric(left.left,right.right)&&isSymmetric(left.right,right.left));
	}

 

posted @ 2015-05-22 00:52  TonyLuis  阅读(169)  评论(0编辑  收藏  举报