对称二叉树

给你一个二叉树的根节点 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

进阶:你可以运用递归和迭代两种方法解决这个问题吗?

bool compare(TreeNode *left, TreeNode *right) {
    //判断左右结点的情况
    if (left == NULL && right != NULL) return false;
    else if (left != NULL && right == NULL) return false;
    else if (left == NULL && right == NULL) return true;
    // 排除了空节点,再排除数值不相同的情况
    else if (left->val != right->val) return false;
    // 值相同的结点
    else return compare(left->left, right->right) && compare(left->right, right->left);
}

bool isSymmetric(TreeNode *root) {
    //如果结点为空则说明对称
    if (root == NULL) return true;
    return compare(root->left, root->right);
}

相关推荐

  1. 算法:对称

    2024-02-09 18:28:01       32 阅读
  2. leetcode-对称

    2024-02-09 18:28:01       36 阅读
  3. | 对称问题

    2024-02-09 18:28:01       38 阅读
  4. 126 对称

    2024-02-09 18:28:01       21 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-09 18:28:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-09 18:28:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-09 18:28:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-09 18:28:01       20 阅读

热门阅读

  1. 【C++】类与对象5:static成员与友元

    2024-02-09 18:28:01       30 阅读
  2. 美国服务器如何

    2024-02-09 18:28:01       22 阅读
  3. 【CSS422】Programming Language Design

    2024-02-09 18:28:01       26 阅读
  4. 鸿蒙开发系列教程(十六)--日志处理

    2024-02-09 18:28:01       29 阅读
  5. C# 面向对象(OOP)编程关键知识点

    2024-02-09 18:28:01       27 阅读
  6. Nginx 介绍和使用

    2024-02-09 18:28:01       28 阅读
  7. dp_day6(从记忆化搜索(dfs)到递推(dp))

    2024-02-09 18:28:01       31 阅读
  8. 【C/C++ 14】C++11智能指针

    2024-02-09 18:28:01       27 阅读