剑指offer系列32-----对称二叉树的判断

【题目】请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。

 1 package com.exe7.offer;
 2 
 3 /**
 4  * 【题目】请实现一个函数,用来判断一颗二叉树是不是对称的。
 5  *     注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
 6  * @author WGS
 7  *
 8  */
 9 public class SymmetricalTreeNode {
10     public class TreeNode{
11         int val=0;
12         TreeNode left=null;
13         TreeNode right=null;
14         
15         public TreeNode(int val){
16             this.val=val;
17         }
18     }
19     
20     
21     public boolean isSymmetrical(TreeNode pRoot){
22         if(pRoot==null) return false;
23         return isSymmetrical(pRoot.left ,pRoot.right);
24     }
25 
26 
27     private boolean isSymmetrical(TreeNode pLeft, TreeNode pRight) {
28         if(pLeft==null && pRight==null ) return true;
29         if(pLeft==null || pRight==null ) return false;
30         if(pLeft.val!=pRight.val)
31             return false;
32         return isSymmetrical(pLeft.left, pRight.right)
33             && isSymmetrical(pLeft.right, pRight.left);
34     }    
35 }
原文地址:https://www.cnblogs.com/noaman/p/5580353.html