给你一个二叉树的根节点 root , 检查它是否轴对称。
解题的思路:使用深度优先遍历 + 递归
public static boolean isSymmetric(TreeNode root) {
if (root == null){
return true;
}
return dfs(root.left,root.rigth);
}
public static boolean dfs(TreeNode left,TreeNode right){
if(left == null && right == null){
return true;
}
if (left==null || right==null){
return false;
}
if (left.val!= right.val){
return false;
}
//再递归的比较 左节点的左孩子 和 右节点的右孩子
//以及比较 左节点的右孩子 和 右节点的左孩子
return dfs(left.left,right.rigth) && dfs(left.rigth,right.left);
}