剑指offer题解合集——Week3day4

这篇具有很好参考价值的文章主要介绍了剑指offer题解合集——Week3day4。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

剑指offerWeek3

周四:二叉树的镜像

题目链接:二叉树的镜像

输入一个二叉树,将它变换为它的镜像。

数据范围
树中节点数量 [0,100]

样例
输入树:
      8
     / \
    6  10
   / \ / \
  5  7 9 11

 [8,6,10,5,7,9,11,null,null,null,null,null,null,null,null] 
输出树:
      8
     / \
    10  6
   / \ / \
  11 9 7  5

 [8,10,6,11,9,7,5,null,null,null,null,null,null,null,null]

AC代码

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    void mirror(TreeNode* root) {
        if (!root) return ;
        swap(root->left, root->right);
        mirror(root->left);
        mirror(root->right);
    }
};

思路:

整体思路

按照树的遍历方式进行遍历,遍历途中交换左右子树即可

周四:对称的二叉树

题目链接:对称的二叉树

请实现一个函数,用来判断一棵二叉树是不是对称的。

如果一棵二叉树和它的镜像一样,那么它是对称的。

数据范围
树中节点数量 [0,100]

样例
如下图所示二叉树[1,2,2,3,4,4,3,null,null,null,null,null,null,null,null]为对称二叉树:
    1
   / \
  2   2
 / \ / \
3  4 4  3

如下图所示二叉树[1,2,2,null,4,4,3,null,null,null,null,null,null]不是对称二叉树:
    1
   / \
  2   2
   \ / \
   4 4  3

AC代码

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    bool isSymmetric(TreeNode* root) {
        return !root || dfs(root->left, root->right);
    }
    
    bool dfs(auto r, auto l)
    {
        if (!l || !r) return !l && !r;
        return l->val == r->val && dfs(l->left, r->right) && dfs(l->right, r->left);
    }
};

思路:

整体思路文章来源地址https://www.toymoban.com/news/detail-785521.html

跟上题类似,遍历树,然后判断是否是镜像
镜像就是
左子树的左子树和右子树的右子树相等
左子树的右子树和右子树的左子树相等

特别的,空树是镜像的

到了这里,关于剑指offer题解合集——Week3day4的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【剑指offer】学习计划day2

    目录 一. 前言  二.从尾到头打印链表         a.题目          b.题解分析           c.AC代码   三. 反转链表          a.题目          b.题解分析         c.AC代码  四. 复杂链表的复制          a.题目          b.题解分析          c.AC代码  本系列是针对Leetcod

    2024年02月05日
    浏览(38)
  • 【剑指offer】学习计划day3

      目录 一. 前言  二.替换空格         a.题目          b.题解分析           c.AC代码 三. 左旋转字符串          a.题目         b.题解分析         c.AC代码   本系列是针对Leetcode中剑指offer学习计划的记录与思路讲解。详情查看以下链接: 剑指offer-学习计划htt

    2024年02月13日
    浏览(84)
  • 【剑指offer】学习计划day1

    目录 一. 前言  二. 用两个栈实现队列         a.题目          b.题解分析           c.AC代码   二. 包含min函数的栈          a.题目          b.题解分析         c.AC代码   本系列是针对Leetcode中剑指offer学习计划的记录与思路讲解。详情查看以下链接: 剑指offer-学

    2023年04月24日
    浏览(33)
  • 《剑指Offer》笔记&题解&思路&技巧&优化 Java版本——新版leetcode_Part_3

    当你踏入计算机科学的大门,或许会感到一片新奇而陌生的领域,尤其是对于那些非科班出身的学子而言。作为一位非科班研二学生,我深知学习的道路可能会充满挑战,让我们愿意迎接这段充满可能性的旅程。 最近,我开始了学习 《剑指Offer》 和Java编程的探索之旅。这不

    2024年02月22日
    浏览(36)
  • 【深度学习Week3】ResNet+ResNeXt

    Ⅰ.视频学习 ResNet在2015年由微软实验室提出,该网络的亮点: 1.超深的网络结构(突破1000层) 简单堆叠卷积层和池化层,会导致 梯度消失 或 梯度爆炸 和 退化问题 ; ResNet使用深度残差学习框架来解决退化问题。 2.提出residual模块 3.使用Batch Normalization加速训练(丢弃dropou

    2024年02月15日
    浏览(34)
  • [wp]NewStarCTF 2023 WEEK3|WEB

    medium_sql Sqlmap一把梭 (部分能直接 flag\\\' 部分出现flag不完整 或者部分爆不到表 等官方wp) 在week1的基础上,多过滤了union。 验证存在布尔盲注: ?id=TMP0919\\\' And if(10,1,0)# ?id=TMP0919\\\' And if(01,1,0)# 发第一个,有回显,第二个,没回显,说明页面可以根据if判断的结果回显两种(真假)

    2024年02月08日
    浏览(26)
  • Blockchains & Distributed L week3 爱宝授课记录(1)

    现在我们的生活几乎离不开合同,往大说,工作是与公司签订的劳动合同,买房是与房产公司签订购房合同,买保险是与保险公司签订保险合同;往小了说,网购、定外卖、打车、买彩票都是与相关的服务提供公司签订了相应的合同。可以说, 有人的地方就用合约。 甚至我

    2024年01月18日
    浏览(26)
  • 【北邮国院大三下】Cybersecurity Law 网络安全法 Week3

    北邮国院大三电商在读,随课程进行整理知识点。仅整理PPT中相对重要的知识点,内容驳杂并不做期末突击复习用。个人认为相对不重要的细小的知识点不列在其中。如有错误请指出。转载请注明出处,祝您学习愉快。 编辑软件为Effie,如需要pdf/docx/effiesheet/markdown格式的文件

    2024年02月11日
    浏览(31)
  • 前端架构师-week3-Node项目如何支持ES Module

    目录 方案一: 通过 webpack 完成 ES Module 资源构建 通过 webpack target 属性支持 Node 内置库 webpack loader 配置 babel-loader 支持低版本 Node  方案二: 通过Node原生支持ES Module Node 支持 ES Module 的两种方法 总结     根目录下创建 webpack.config.js

    2024年02月06日
    浏览(25)
  • 力扣 [344、541、剑指offer 05.、151、剑指offer58-ll]

    双指针:自己的 双指针,左指针指向开头,右指针指向末尾。 交换两个左右指针。 左右指针向中间移动。 时间复杂度:O(n); 空间复杂度:O(1); 实现代码: 分类讨论:自己的 分类讨论: 如果剩余字符少于k个,则将剩余字符全部反转。 如果剩余字符大于或等于k个,则反

    2024年02月15日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包