- 1.题目
- 2.思路
- 3.代码实现(Java)
给你一个二叉树的根节点 root , 检查它是否轴对称。
示例 1:
输入:root = [1,2,2,3,4,4,3]
输出:true
示例 2:
输入:root = [1,2,2,null,3,null,3]
输出:false
提示:
树中节点数目在范围 [1, 1000] 内
-100 <= Node.val <= 100
进阶:你可以运用递归和迭代两种方法解决这个问题吗?
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/symmetric-tree
(1)递归
3.代码实现(Java)//思路1————递归
class Solution {
public boolean isSymmetric(TreeNode root) {
if (root == null) {
return true;
} else {
//根节点不为 null,检查其左右子树是否对称
return checkSymmetric(root.left, root.right);
}
}
public boolean checkSymmetric(TreeNode left, TreeNode right) {
if (left == null || right == null) {
return left == right;
}
if (left.val != right.val) {
return false;
}
return checkSymmetric(left.left, right.right) && checkSymmetric(left.right, right.left);
}
}



