二叉树OJ题:LeetCode--226.翻转二叉树

这篇具有很好参考价值的文章主要介绍了二叉树OJ题:LeetCode--226.翻转二叉树。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

朋友们、伙计们,我们又见面了,本期来给大家解读一下LeetCode中第226道二叉树OJ题,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成!

数据结构与算法专栏:数据结构与算法

个  人  主  页 :stackY、

C 语 言 专 栏C语言:从入门到精通

二叉树OJ题:LeetCode--226.翻转二叉树

LeetCode--226.翻转二叉树:https://leetcode.cn/problems/invert-binary-tree/

目录

1.题目介绍

2.实例演示

3.解题思路

代码演示:


1.题目介绍

给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。

二叉树OJ题:LeetCode--226.翻转二叉树

2.实例演示

二叉树OJ题:LeetCode--226.翻转二叉树

 简单来说就是将一棵二叉树的左右子树交换位置。

3.解题思路

翻转二叉树就是要翻转每一棵树的左右子树根节点,在二叉树中我们始终要将它转化为子问题,那么在翻转的过程中需要注意,如果为空结点,那么还需不需要进行翻转?如果为空结点,那么就不需要进行交换,因为空结点没有左右子树,所以遇到空结点直接返回空即可,那么只要是不为空结点,就需要交换,如果一个非空结点的左右子树存在,那么交换,若一个非空结点的左右子树只存在一个,那么也需要交换,若两个左右子树都不存在,那么交不交换都无所谓,然后使用递归来依次递归整个树。

代码演示:

 

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     struct TreeNode *left;
 *     struct TreeNode *right;
 * };
 */


struct TreeNode* invertTree(struct TreeNode* root){
    //判断是否为空树
    if(root == NULL)
    {
        return NULL;
    }
    else
    {
        //不为空则交换
        struct TreeNode* tmp = root->right;
        root->right = root->left;
        root->left = tmp;
    }

    //递归它的左右子树
    invertTree(root->right);
    invertTree(root->left);

    //返回根节点
    return root;
}

先判断这棵树是否为空树,若为空树,则返回NULL,不为空树,则创建新的结点实现翻转结点的操作,然后依次递归它的左右子树,直到翻转完整个二叉树。

 

朋友们、伙计们,美好的时光总是短暂的,我们本期的的分享就到此结束,最后看完别忘了留下你们弥足珍贵的三连喔,感谢大家的支持! 文章来源地址https://www.toymoban.com/news/detail-509089.html

到了这里,关于二叉树OJ题:LeetCode--226.翻转二叉树的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 算法训练day15Leetcode102二叉树层序遍历226翻转二叉树101对称二叉树

    https://www.bilibili.com/video/BV1ue4y1Y7Mf/?vd_source=8272bd48fee17396a4a1746c256ab0ae 层序遍历一个二叉树。就是从左到右一层一层的去遍历二叉树。这种遍历的方式和我们之前讲过的都不太一样。 需要借用一个辅助数据结构即队列来实现,队列先进先出,符合一层一层遍历的逻辑,而用栈先

    2024年01月18日
    浏览(40)
  • 代码随想录Day12 二叉树 LeetCode T102二叉树的层序遍历 T226 翻转二叉树 T101 对称二叉树

    本文思路和详细讲解来自于:代码随想录 (programmercarl.com) 题目链接:102. 二叉树的层序遍历 - 力扣(LeetCode) 本题使用队列辅助完成,讲解主要函数CheckOrder:首先判断root是否为空,是就直接返回,然后创建队列,向里加入root元素,计算队列的长度,也就是每一层的元素个数,while循环,si

    2024年02月06日
    浏览(33)
  • 226. 翻转二叉树

    2024年02月15日
    浏览(36)
  • day15 | 层序遍历、 226.翻转二叉树、 101. 对称二叉树

    目录: 题目链接: 层序遍历 给你二叉树的根节点  root  ,返回其节点值的  层序遍历  。 (即逐层地,从左到右访问所有节点)。 随想录:借助一个队列实现。 102. 二叉树的层序遍历 107.二叉树的层次遍历 II 最后只需要将result的顺序改一下就行,但是注意,reverse是直接

    2024年02月08日
    浏览(69)
  • 代码随想录day13 | 226.翻转二叉树 101.对称二叉树

    使用前、后序反转最为方便。 为啥不推荐中序? 中序遍历,某些节点的左右孩子会翻转两次,某些节点左右孩子不会被反转。 101.对称二叉树 关键在于,看这个节点对应的左子树和右子树是否可以相互反转。 1、如何比较呢? 比较的是两个子树的里侧和外侧的元素是否相等

    2024年02月15日
    浏览(29)
  • 二叉树OJ题:LeetCode--965.单值二叉树

    朋友们、伙计们,我们又见面了,本期来给大家解读一下LeetCode中第965道二叉树OJ题,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! 数据结构与算法专栏: 数据结构与算法 个  人  主  页  : stackY、 C 语 言 专 栏 : C语言:从入门到精通 ​ Le

    2024年02月12日
    浏览(36)
  • 二叉树OJ题:LeetCode--101.对称二叉树

    朋友们、伙计们,我们又见面了,本期来给大家解读一下LeetCode中第144道二叉树OJ题,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! 数据结构与算法专栏: 数据结构与算法 个  人  主  页  : stackY、 C 语 言 专 栏 : C语言:从入门到精通 LeetCo

    2024年02月13日
    浏览(33)
  • Leetcode-二叉树oj题

    144. 二叉树的前序遍历 https://leetcode.cn/problems/binary-tree-preorder-traversal/ 这个题目在遍历的基础上还要求返回数组,数组里面按前序存放二叉树节点的值。 既然要返回数组,就必然要malloc一块空间,那么我们需要算出这个二叉树的节点个数,所以就创建一个函数TreeSize求出节点

    2024年02月05日
    浏览(29)
  • 二叉树OJ题:LeetCode--104.二叉树的最大深度

    朋友们、伙计们,我们又见面了,本期来给大家解读一下LeetCode中第104道二叉树OJ题,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! 数据结构与算法专栏: 数据结构与算法 个  人  主  页  : stackY、 C 语 言 专 栏 : C语言:从入门到精通  Leet

    2024年02月11日
    浏览(72)
  • 二叉树OJ题:LeetCode--144.二叉树的前序遍历

    朋友们、伙计们,我们又见面了,本期来给大家解读一下LeetCode中第144道二叉树OJ题,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! 数据结构与算法专栏: 数据结构与算法 个  人  主  页  : stackY、 C 语 言 专 栏 : C语言:从入门到精通  Leet

    2024年02月13日
    浏览(32)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包