目录
一、核心思想:镜像递归 / 成对比较
无论是递归还是迭代方法,本质都是在模拟这样一个过程:
比较两个子树
t1和t2是否互为镜像(即对称),需要满足:
- 它们的根节点值相等;
t1的左子树 与t2的右子树 是镜像;t1的右子树 与t2的左子树 是镜像。
这构成了一个分治(Divide and Conquer)结构,非常适合用递归实现。
二、两种通用解法框架
方法一:递归法(DFS - 深度优先搜索)
public boolean isSymmetric(TreeNode root) {
if (root == null) return true;
return isMirror(root.left, root.right);
}
private boolean isMirror(TreeNode t1, TreeNode t2) {
// 1. 都为空 → 对称
if (t1 == null && t2 == null) return true;
// 2. 一个为空,另一个不为空 → 不对称
if (t1 == null || t2 == null) return false;

最低0.47元/天 解锁文章
6594

被折叠的 条评论
为什么被折叠?



