- 题目描述:
给定一棵二叉树,判断其是否是自身的镜像(即:是否对称) - 提示:
数据范围:节点数满足 0 ≤ n ≤ 1000,节点上的值满足∣val∣≤1000
要求:空间复杂度 O(n),时间复杂度 O(n)
备注:
你可以用递归和迭代两种方法解决这个问题 - 代码实现:
public class Solution {
boolean isSymmetrical(TreeNode pRoot) {
if (pRoot == null) return true;
return isDuiChen(pRoot,pRoot);
}
boolean isDuiChen(TreeNode t1, TreeNode t2){
if (t1 == null && t2 == null) return true;
if (t1 == null || t2 == null) return false;
if (t1.val != t2.val) return false;
return isDuiChen(t1.left,t2.right) && isDuiChen(t1.right,t2.left);
}
}