首页 > 其他分享 >翻转二叉树(递归)

翻转二叉树(递归)

时间:2024-12-23 20:20:38浏览次数:4  
标签:right TreeNode 递归 nullptr 二叉树 left root 翻转

给你一棵二叉树的根节点 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 = []
输出:[]

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
 *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
 * };
 */
class Solution {
public:
    TreeNode* invertTree(TreeNode* root) {
        if(root){
            TreeNode *temp = root->right;
            root->right = root->left;
            root->left = temp;
            invertTree(root->left);
            invertTree(root->right);
        }
        return root;
    }
};

 

标签:right,TreeNode,递归,nullptr,二叉树,left,root,翻转
From: https://www.cnblogs.com/yueshengd/p/18624948

相关文章

  • 数据结构与算法 - 排序 #直接插入排序 #希尔排序 #直接选择排序 #堆排序 #冒泡排序 #
    文章目录前言一、插入排序(一)、直接插入排序1、思路2、参考代码:3、复杂度计算:(二)、希尔排序1、思路2、参考代码:3、时间复杂度计算:二、选择排序(一)、直接选择排序1、思路2、参考代码3、时间复杂度计算(二)、堆排序三、交换排序(一)、冒泡排序(二)、快速......
  • 二叉树的最大深度(递归)
    给定一个二叉树 root ,返回其最大深度。二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例1: 输入:root=[3,9,20,null,null,15,7]输出:3示例2:输入:root=[1,null,2]输出:2 /***Definitionforabinarytreenode.*structTree......
  • 二叉树的中序遍历(递归/栈)
    给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例1:输入:root=[1,null,2,3]输出:[1,3,2]示例2:输入:root=[]输出:[]示例3:输入:root=[1]输出:[1]方法1:递归/***Definitionforabinarytreenode.*structTreeNode{*intval;*......
  • 【递归,搜索与回溯算法 & 综合练习】深入理解暴搜决策树:递归,搜索与回溯算法综合小专题(
       优美的排列  题目解析     算法原理     解法 :暴搜     决策树   红色剪枝:用于剪去该节点的值在对应分支中,已经被使用的情况,可以定义一个check[]紫色剪枝:perm[i]不能够被i整除,i不能够被perm[i]整除,此时分......
  • 【102. 二叉树的层序遍历 中等】
    题目:给你二叉树的根节点root,返回其节点值的层序遍历。(即逐层地,从左到右访问所有节点)。示例1:输入:root=[3,9,20,null,null,15,7]输出:[[3],[9,20],[15,7]]示例2:输入:root=[1]输出:[[1]]示例3:输入:root=[]输出:[]提示:树中节点数目在范围[0,2000]内-10......
  • c语言 递归 递推
    1、递推与递归https://blog.csdn.net/hitwhylz/article/details/9492159?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-9492159-blog-140367622.235^v43^pc_blog_bottom_relevance_base6&spm=1001.2101.3001.4242.2&......
  • K 个一组翻转链表(逆置链表+递归)
    给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。 示例1:输入:head......
  • 【递归,搜索与回溯算法 & 综合练习】深入理解暴搜决策树:递归,搜索与回溯算法综合小专题(
       找出所有子集的异或总和再求和  题目解析     算法原理     解法     决策树   这种决策使得每一次递归都是有效的递归,每一个节点都是最终的结果,所以这棵决策树是不用剪枝的,也没有递归出口的;    注意   ......
  • 101.对称二叉树
    varisSymmetric=function(root){if(!root)returntrue;returnisMirror(root.left,root.right);};functionisMirror(left,right){if(!left&&!right)returntrue;if(!left||!right)returnfalse;if(left.val!==right.val)......
  • 12.16 二叉树的题目用acm模式 leetcode
    任务有leetcode1.将所有二叉树的题目用acm模式进行补充(完成了)github上面的所有二叉树ACM答案,模板https://github.com/PUNKDONG/leetcode/tree/master/src/treenodepackagetreenode;importjava.util.*;publicclasstreecode0_template{staticclassTreeNo......