当前位置: 首页 > news >正文

【刷题笔记10.6】LeetCode:翻转二叉树

LeetCode:翻转二叉树

一、题目描述

给你一颗二叉树的根节点root,翻转这颗二叉树,并返回其根节点。
在这里插入图片描述
在这里插入图片描述

二、分析

我们在做二叉树题目时候,第一想到的应该是用 递归 来解决。 仔细看下题目的 输入 和 输出,输出的左右子树的位置跟输入正好是相反的,于是我们可以递归的交换左右子树来完成这道题。

其实就是交换一下左右节点,然后再递归的交换左节点,右节点。
我们可以总结出递归的两个条件如下:

  • 终止条件:当前节点为 null 时返回
  • 交换当前节点的左右节点,再递归的交换当前节点的左节点,递归的交换当前节点的右节点

三、代码实现

public class Deal13 {public TreeNode invertTree(TreeNode root) {//1、递归函数的终止条件,节点为null时返回if (root == null) {return null;}//2、下面三句是将当前节点的左右子树交换TreeNode temp = root.left;root.left = root.right;root.right = temp;//3.1、递归交换当前节点的 左子树invertTree(root.left);//3.2、递归交换当前节点的 右子树invertTree(root.right);//4、函数返回时就表示当前这个节点,以及它的左右子树都已经交换完成return root;}
}
http://www.lryc.cn/news/184377.html

相关文章:

  • 【高阶数据结构】图详解第一篇:图的基本概念及其存储结构(邻接矩阵和邻接表)
  • IPV4跟IPV6的区别
  • 利用fitnesse实现api接口自动化测试
  • 【LeetCode】1154.一年中的第几天
  • 4.物联网射频识别,RFID开发【智能门禁项目】
  • CompletableFuture 和 Future 的选择,以及CompletableFuture的用法
  • 美国第三大财产和意外险公司利宝保险集团利用 OpenText EnCase 取证收集技术控制法律风险和成本
  • 打包报错JavaScript heap out of memory
  • Android Camera FW 里的requestId和frameId
  • 代理IP与Socks5代理在技术世界的多元应用
  • 计算机专业毕业设计项目推荐12-志愿者管理系统(Spring+Js+Mysql)
  • 苹果文件传到mac电脑用什么软件?
  • 深入理解Docker:简化部署与管理的利器
  • 软考对找工作有用吗?
  • Android系统启动之init进程启动+Zygote进程启动分析
  • 微信这样的加人方式,既安全又解放双手
  • CVE-2023-5129:libwebp开源库10分漏洞
  • 从零开始的C++(六)
  • leetcode 518. 零钱兑换 II、377. 组合总和 Ⅳ
  • 【网络安全 --- kali2022安装】kali2022 超详细的安装教程(提供镜像)
  • 网络安全(黑客)——自学笔记
  • 【C++】List -- 详解
  • 浅谈.net 垃圾回收机制(1)
  • 超大视频如何优雅切片
  • 计算机竞赛 题目:基于深度学习卷积神经网络的花卉识别 - 深度学习 机器视觉
  • Spring总结的question
  • LVS和keepalived
  • 2023年腾讯云优惠券(代金券)无门槛领取方法汇总
  • linux scsi命令读取文件
  • c#设计模式-行为型模式 之 策略模式