LeetCode:对称的二叉树(C语言)

1、问题概述:给一个二叉树,看是否按轴对称

2、示例

示例 1:

复制代码
输入:root = [1,2,2,3,4,4,3]
输出:true

示例 2:

复制代码
输入:root = [1,2,2,null,3,null,3]
输出:false

3、分析

(1)判断为空的现象:如果都为空则为true,2者有一个为空则为false

(2)进行递归,因为要遍历2个树是否为,参数传左子树和右子树

4、代码

cpp 复制代码
bool judgeSymmetric(struct TreeNode *root1,struct TreeNode *root2){
    if(root1==NULL && root2==NULL) return true;
    if(root1==NULL && root2!=NULL) return false;
    if(root1!=NULL && root2==NULL) return false;
    if(root1->val==root2->val){
        return judgeSymmetric(root1->left,root2->right) && judgeSymmetric(root1->right,root2->left);
    } else {
        return false;
    }
}


bool isSymmetric(struct TreeNode* root) {
   return judgeSymmetric(root,root);
}
相关推荐
hanlin03几秒前
刷题笔记:力扣第41题-缺失的第一个正数
笔记·算法·leetcode
shehuiyuelaiyuehao33 分钟前
算法50,分治归并,数组中的逆序对
java·算法
阳明山水1 小时前
校准分位数驱动智能库存决策
人工智能·深度学习·算法·机器学习·架构
91刘仁德2 小时前
C++ 继承和多态 设计模式
c语言·c++·笔记
码行山野赴时序归途2 小时前
链表家族收官篇:循环链表
c语言·开发语言·数据结构·链表
库玛西2 小时前
哈夫曼树与前缀编码:数据压缩的贪心核心
c语言·c++·笔记·考研
别动我齐刘海2 小时前
ROS2 Jazzy + C++ 实战路线——进阶学习3
c++·人工智能·vscode·python·算法·机器学习·机器人
zhangfeng11332 小时前
《从“人工适配“到“智能生成“:KernelSwift 跨国产芯片算子迁移全栈方案解读》 —— 强调范式跃迁和跨硬件属性,适合偏架构分析的写法
人工智能·算法·华为·ai编程·npu
0+1113 小时前
算法 --滑动窗口
c++·算法·leetcode
雷✘3 小时前
C 语言预处理中的宏展开、条件编译与头文件保护
c语言