Leetcode刷题营第三十三题:对称二叉树

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

算法思路:利用递归遍历分别判断左右子树对称节点利用判断两树相同的思想

判断两树对称:这里我们输入的分别是左右子树的根节点,然后一个从左节点开始遍历,另外一个从右节点开始遍历即可

代码实现:

cpp 复制代码
bool ismirrortree(struct TreeNode* p,struct TreeNode* q){
    if(p == NULL && q == NULL){
        return true;
    }
    if(!p || !q || p->val != q->val){
        return false;
    }
    return ismirrortree(p->left,q->right) && ismirrortree(p->right,q->left);
}

bool isSymmetric(struct TreeNode* root) {
    if(!root){
        return true;
    }
    return ismirrortree(root->left,root->right);
}

这道题利用前面我们做过的题目的思想,有时候它只给了一个接口,但并不意味着你不可以在该接口中调用其他接口。

好了,本期的内容就分享到这里了,谢谢大家的点赞和收藏!

相关推荐
_dindong18 分钟前
牛客101:链表
数据结构·c++·笔记·学习·算法·链表
wuk99823 分钟前
基于位置式PID算法调节PWM占空比实现电机转速控制
单片机·嵌入式硬件·算法
派大星爱吃猫31 分钟前
堆的概念、结构与应用详解
c语言·数据结构·
不到满级不改名38 分钟前
EM算法 & 隐马尔可夫模型
算法
workflower5 小时前
单元测试-例子
java·开发语言·算法·django·个人开发·结对编程
MicroTech20257 小时前
微算法科技(MLGO)研发突破性低复杂度CFG算法,成功缓解边缘分裂学习中的掉队者问题
科技·学习·算法
墨染点香7 小时前
LeetCode 刷题【126. 单词接龙 II】
算法·leetcode·职场和发展
aloha_7898 小时前
力扣hot100做题整理91-100
数据结构·算法·leetcode
Tiny番茄8 小时前
31.下一个排列
数据结构·python·算法·leetcode
挂科是不可能出现的8 小时前
最长连续序列
数据结构·c++·算法