/**
* Definition for a binary tree node.
* public class TreeNode {
* public int val;
* public TreeNode left;
* public TreeNode right;
* public TreeNode(int x) { val = x; }
* }
*/
public class Solution {
public bool IsSymmetric(TreeNode root) {
return fun(root,root);
}
private bool fun(TreeNode root1,TreeNode root2)
{
if(root1==null&&root2==null)
{
return true;
}
else if(root1==null||root2==null||root1.val!=root2.val)
{
return false;
}
else
{
bool temp1=fun(root1.left,root2.right);
bool temp2=fun(root1.right,root2.left);
return temp1&&temp2;
}
}
}
/**
* Definition for a binary tree node.
* public class TreeNode {
* public int val;
* public TreeNode left;
* public TreeNode right;
* public TreeNode(int x) { val = x; }
* }
*/publicclassSolution{publicboolIsSymmetric(TreeNode root){if(root ==null){returntrue;}TreeNode left = root.left;TreeNode right = root.right;returnIsMirror(left,right);}publicboolIsMirror(TreeNode node1,TreeNode node2){if(node1 ==null&& node2 ==null)returntrue;if(node1 ==null|| node2 ==null)returnfalse;if(node1.val == node2.val){returnIsMirror(node1.left,node2.right)&&IsMirror(node1.right,node2.left);}else{returnfalse;}}}