一、题目
给你一个二叉树的根节点 root , 检查它是否轴对称。
提示:
- 树中节点数目在范围 [1, 1000] 内
- -100 <= Node.val <= 100
二、解题思路
二叉树是否轴对称,那么要比较的是根节点的左右子树的里侧和外侧元素是否相等。
- 本题使用后序遍历(左右中):因为二叉树对称,那么要遍历左右两棵子树,采用后序遍历才能把左右孩子比较的结果返回给上一层,继续进行操作。
- 要考虑以下情况:
- 左右节点存在空节点
- 左右节点都不为空,值是否相同
- 此时 左右节点不为空,值相同 。 对下一层进行判断
三、代码
- 递归法:
class Solution {
public:
bool compare(TreeNode* left,TreeNode* right){
// 1.考虑 空节点的情况
if(left==nullptr && right==nullptr) return true;
if(left==nullptr && right!=nullpt