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