题目
- 给定一个二叉树,检查它是否是镜像对称的。
思路
- 把一棵树除根节点外看成两棵树。根据这两棵树的根节点判断
public class Solution
{
public bool IsSymmetric(TreeNode root)
{
if (root == null)
return true;
return IsMirror(root.left,root.right);
}
private bool IsMirror(TreeNode root1,TreeNode root2)
{
if (root1 == null && root2 == null)
return true;
else if ((root1 == null || root2 == null) )
return false;
else if (root1.val != root2.val)
return false;
return IsMirror(root1.left, root2.right) && IsMirror(root1.right,root2.left);
}
}