数据结构和算法实践-树-LeetCode100-对称二叉树
题目
给你一个二叉树的根节点 root , 检查它是否轴对称
示例
输入:root = [1,2,2,3,4,4,3]
输出:true
My Thought
题目给定的是二叉树,结合示例,故要做三个判断:
一、从root出发,作左右的对比
二、左边节点的左节点和右边节点的右节点相等
三、左边节点的右节点和右边节点的左节点相等
然后再进行递归,递归要注意两个方面:
一、自我调用
二、终止条件:即函数边界
注意点:树、递归
代码示例
JAVA-8
public boolean isSymmetric(TreeNode root) {
return isMirror(root, root);
}
private boolean isMirror(TreeNode root1, TreeNode root2) {
if (root1 == null && root2 == null) {
return true;
}
if (root1 == null || root2 == null) {
return false;
}
return root1.val == root2.val && isMirror(root1.left, root2.right) && isMirror(root1.right, root2.left);
}