【力扣】101. 对称二叉树

101. 对称二叉树

题目描述

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

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

解题方法

  • C 递归
/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     struct TreeNode *left;
 *     struct TreeNode *right;
 * };
 */
bool my_cmp(struct TreeNode* left, struct TreeNode* right) {
    if (NULL == left && NULL == right) {
        return true;
    }
    if (NULL == left || NULL == right) {
        return false;
    }
    if (left->val != right->val) {
        return false;
    }
    return (my_cmp(left->left, right->right) &&
            my_cmp(left->right, right->left));
}

bool isSymmetric(struct TreeNode* root) {
    if (NULL == root) {
        return false;
    }
    return my_cmp(root->left, root->right);
}

复杂度分析
时间复杂度为 O(n),n 为树的节点数。
空间复杂度为 O(n),空间复杂度和递归使用的栈空间有关。

相关推荐

  1. 题目101:对称

    2024-04-12 10:28:01       30 阅读
  2. 对称-

    2024-04-12 10:28:01       30 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-12 10:28:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-12 10:28:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-12 10:28:01       82 阅读
  4. Python语言-面向对象

    2024-04-12 10:28:01       91 阅读

热门阅读

  1. oracle逻辑读详解

    2024-04-12 10:28:01       44 阅读
  2. 论文复现:torch.max(p,1)

    2024-04-12 10:28:01       34 阅读
  3. leetcode674-Longest Continuous Increasing Subsequence

    2024-04-12 10:28:01       37 阅读
  4. 加权随机负载均衡算法golang实现

    2024-04-12 10:28:01       40 阅读
  5. 单例模式a

    2024-04-12 10:28:01       39 阅读
  6. 面试经典150题——删除有序数组中的重复项

    2024-04-12 10:28:01       38 阅读
  7. HistoricActivityInstance和HistoricProcessInstance区别

    2024-04-12 10:28:01       32 阅读