101. 对称二叉树

56 阅读1分钟

给你一个二叉树的根节点 root , 检查它是否轴对称。

image.png

image.png

解题的思路:使用深度优先遍历 + 递归

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);
}

image.png