首页 > 其他分享 >226. 翻转二叉树

226. 翻转二叉树

时间:2023-12-13 22:33:20浏览次数:30  
标签:right TreeNode 二叉树 226 left root 节点 翻转

1.题目介绍

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

示例 1:

输入:root = [4,2,7,1,3,6,9]
输出:[4,7,2,9,6,3,1]

示例 2:

输入:root = [2,1,3]
输出:[2,3,1]

示例 3:

输入:root = []
输出:[]

提示:

  • 树中节点数目范围在 \([0, 100]\) 内
  • \(-100 <= Node.val <= 100\)

2.题解

2.1 思路介绍

使用深度优先搜索,只要子节点都翻转完毕,在翻转当前层的根节点与其兄弟节点即可。

2.2 代码

class Solution {
public:
    TreeNode* invertTree(TreeNode* root) {
        if (root == nullptr) return nullptr;
        TreeNode* left = invertTree(root->left);
        TreeNode* right = invertTree(root->right);
        root->left = right;
        root->right = left;
        return root;
    }
};

标签:right,TreeNode,二叉树,226,left,root,节点,翻转
From: https://www.cnblogs.com/trmbh12/p/17900100.html

相关文章

  • C++堆——heap与二叉树和python
    数据结构栈-->stack队列-->queue树-->tree堆-->heap散列-->hash图-->graph图结构一般包括顶点和边邻接矩阵DAG,DirectedAcyclicGraph即「有向无环图」树树(Tree)是一种非线性的数据结构,由n个节点组成,其中每个节点都有零个或多个子节点。......
  • 线索二叉树记录
                                       中序遍历:   BADCE 将树型结构转换为线性结构,每个结点都有直接前驱和直接后继。              ......
  • 力扣101-对称二叉树
    该题难度为【简单】1.尝试自己写,哪怕写个暴力解法也行,没写出来,看官方题解。2.扫了一眼,不太理解,又想了一会“我代码里漏掉的一半在官方思路中是怎么补上的”,再从头看一遍文字解析,“原来是两棵树对比”。这样思路就清晰了,用递归遍历每个节点,比较每次遍历的“根节点”即可。3.......
  • 257. 二叉树的所有路径
    目录题目题解:前序遍历题目给你一个二叉树的根节点root,按任意顺序,返回所有从根节点到叶子节点的路径。题解:前序遍历classSolution:defbinaryTreePaths(self,root:Optional[TreeNode])->List[str]:res=[]self.getPaths(root,'',re......
  • Leetcode刷题day12-二叉树.前中后序遍历
    递归法实现前.中.后序遍历代码随想录(programmercarl.com)解题思路前序遍历:头->左->右中序遍历:左->头->右后序遍历:左->右->头递归法实现流程:1.定义递归函数;2.寻找递归终止条件;3.设计单层递归模块classSolution(): def__init__(self,val=0,left=None,right=None): sel......
  • 226. 翻转二叉树
    目录题目题解:DFS题目给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点。题解:DFSclassSolution:definvertTree(self,root:Optional[TreeNode])->Optional[TreeNode]:#空树,交换左右子树,递归左右子树ifnotroot:return......
  • [LeetCode Hot 100] LeetCode25. K个一组翻转链表
    题目描述思路:判断链表中是否足够k个元素再将这k个元素内部翻转一下将前后端点连接的指针变化一下方法一:/***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode(){}*ListNode(intval)......
  • 8.平衡二叉树
    110.平衡二叉树1、概要给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。示例1:给定二叉树[3,9,20,null,null,15,7]和二叉树最大深度有很大区别leetcode中强调的深度和高度很......
  • 7.完全二叉树的节点个数
    222.完全二叉树的节点个数1、概要给出一个完全二叉树,求出该树的节点个数。示例1:输入:root=[1,2,3,4,5,6]输出:6首先按照普通二叉树的逻辑来求。这道题目的递归法(后序)和求二叉树的深度(取MAX)写法类似,而迭代法,遍历模板稍稍修改一下,记录遍历的节点数量就可以了2、思路......
  • 5.二叉树的最大深度
    104.二叉树的最大深度1、概要给定一个二叉树root,返回其最大深度。二叉树的最大深度是指从根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。可以使用前序求深度,也可以使用后序求高度。二叉树节点的深度:指从根节点到该节点的最长简单......