牛客 二叉树 NB20 翻转牛群结构

[原题连接](翻转牛群结构_牛客题霸_牛客网 (nowcoder.com))

这道题简单来讲就是给着棵树翻个面, 翻面后各个节点之间不会有子节点的交换, 但是每个节点的左右节点会做交换, 所以我们采用层序遍历来遍历二叉树, 在遍历的过程中交换每个节点的左右节点即可

在这里插入图片描述

public class Solution {  public TreeNode invertTree (TreeNode root) {  if(root == null) return root;  Deque<TreeNode> queue = new ArrayDeque<>();  ArrayList<List<TreeNode>> lists = new ArrayList<>();  queue.add(root);  while(!queue.isEmpty()) {  int size = queue.size();  for(int i = 0; i < size; i++) {  TreeNode poll = queue.poll();  if(poll.right != null) queue.add(poll.right);  if(poll.left != null) queue.add(poll.left);  TreeNode temp = poll.left;  poll.left = poll.right;  poll.right = temp;  }  }  return root;  }  
}

具体代码参上

好的!本次分享到这就结束了
如果对铁汁你有帮助的话,记得点赞👍+收藏⭐️+关注➕
我在这先行拜谢了:)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/11232.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux禁用危险命令和防止误操作

禁用rm命令 编辑/etc/profile文件&#xff0c;结尾添加 ###### rm prevent ###### alias rmecho can not use rm command使用source命令生效 source /etc/profile效果 使用mv命令代替rm命令 将需要删除的文件移动到特定的目录&#xff0c;比如/home/sharedir/ 在.bashrc目…

臻奶惠:社区牛奶直供领航者

在当今中国经济转型升级的紧要关头&#xff0c;随着人口红利的逐步减弱&#xff0c;消费升级趋势日益显著&#xff0c;传统行业面临着前所未有的变革与重组。在此背景下&#xff0c;臻奶惠凭借其独到的市场洞察力和前瞻的战略布局&#xff0c;聚焦于健康消费的新蓝海&#xff0…

spring cloud alibaba、spring cloud和springboot三者的版本兼容

官方版本说明地址: 版本说明 alibaba/spring-cloud-alibaba Wiki GitHub 组件版本关系 每个 Spring Cloud Alibaba 版本及其自身所适配的各组件对应版本如下表所示(注意,Spring Cloud Dubbo 从 2021.0.1.0 起已被移除出主干,不再随主干演进): Spring Cloud Alibaba Ve…

Multsim仿真电路:(十七)DC-DC降压电路原理简单仿真

1.前言 由于日常工作中&#xff0c;降压电路用的比较多&#xff0c;所以我只对降压DC-DC进行仿真&#xff0c;本质上还是自己学习记录&#xff0c;因为发现越深入要了解的东西就会越多&#xff0c;慢慢就脱离我现在使用的范畴&#xff0c;就又会变成空空的学习&#xff0c;所以…

【TypeScript声明合并简介以及使用方法】

TypeScript声明合并简介 TypeScript中的声明合并是一个独特的概念&#xff0c;它允许将多个具有相同名称的声明合并为一个声明。这些声明可以是变量、函数、接口、命名空间、类、枚举等。合并后的声明将同时拥有原先所有声明的特性。这种特性在扩展现有JavaScript库或模块时特…

社交媒体数据恢复:密聊猫

一、概述 密聊猫是一款提供多种优质体验的手机社交聊天软件。通过这款软件&#xff0c;用户可以享受到多种不同的乐趣体验&#xff0c;如真人在线匹配、真实的交友体验等。同时&#xff0c;密聊猫也提供了数据恢复功能&#xff0c;帮助用户找回丢失的数据。 二、数据恢复步骤…

拦截器整合Redis实现登陆安全方案

拦截器整合Redis实现登陆安全方案 首先系统中任何部分不存在用户token 登陆时使用jwt产生非对称加密的token&#xff0c;将用户基础信息Map存储到token的payload中&#xff0c;随后将用户的详细信息存储到redis中&#xff0c;数据结构为&#xff1a; “用户id” &#xff1a;“…

Redis7降级6备份不过期数据操作

Redis7降级6备份不过期数据操作 搜到三种备份方法 rdb版本11-》redis7;rdb版本9-》redis6&#xff1b;不兼容&#xff0c;版本太高无第三方工具转换。其中那个rdbtool白瞎断更好久了。aof 使用aof -fix&#xff0c;文件大小没变&#xff0c;读取不了数据&#xff1b;不兼容&a…

【入门】最短路径

时间限制 : 1 秒 内存限制 : 128 MB 在带权有向图G中&#xff0c;给定一个源点v&#xff0c;求从v到G中的其余各顶点的最短路径问题&#xff0c;叫做单源点的最短路径问题。 在常用的单源点最短路径算法中&#xff0c;迪杰斯特拉算法是最为常用的一种&#xff0c;是一种按照…

黑马甄选离线数仓项目day01(项目介绍)

课程介绍 项目名称 黑马甄选数仓形式 离线数仓开发业务类型 电商业务 电商介绍 B2B B2C C2C 项目属于 新零售电商 新零售 线上(网站,app,小程序&#xff09; 线下&#xff08;实体体验店&#xff09; 物流&#xff08;自营物流&#xff09; 项目行业 果蔬生鲜领域 商业模式 B…

Flutter 中的 Text 小部件:全面指南

Flutter 中的 Text 小部件&#xff1a;全面指南 在 Flutter 中&#xff0c;Text 是用于显示文本的基础小部件。它不仅简单易用&#xff0c;而且提供了丰富的定制选项&#xff0c;包括样式、对齐、行间距等。本文将详细介绍如何使用 Text 小部件&#xff0c;并探索其高级特性。…

网络面试题目

1、BGP报文有哪些? 有5种报文,Open、 Update、 Notification、 Keepalive和 Route-refresh等5种报文类型。 2、Vxlan了解多少? VLAN作为传统的网络隔离技术,VXLAN完美地弥补了VLAN的上述不足。 VXLAN(Virtual eXtensible Local Area Network,虚拟扩展局域网),(VXL…

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《规模化屋顶光伏接入配电网的建设决策》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

数据结构之----线性表

线性表分为 顺序存储结构 和 链式存储结构 线性表的顺序存储结构&#xff1a; 线性表的顺序存储结构&#xff0c;指的是用一段地址连续的存储单元依次存储线性表的数据元素。 1&#xff0c;顺序表的结构&#xff1a; #define MAXSIZE 20 typedef int El…

scrapy crawl时报Unknown command: crawl

Scrapy 项目初始化问题&#xff1a;在运行 scrapy crawl 命令之前&#xff0c;你需要先在项目目录中初始化一个 Scrapy 项目。确保你已经在项目目录中执行了 scrapy startproject <project_name> 命令来初始化项目。 如果没有startproject直接genspider然后crawl就会报这…

数据结构---经典链表OJ

乐观学习&#xff0c;乐观生活&#xff0c;才能不断前进啊&#xff01;&#xff01;&#xff01; 我的主页&#xff1a;optimistic_chen 我的专栏&#xff1a;c语言 点击主页&#xff1a;optimistic_chen和专栏&#xff1a;c语言&#xff0c; 创作不易&#xff0c;大佬们点赞鼓…

css基础之用户界面样式、导航栏和三角

用户界面样式 一、鼠标样式cursor default默认 pointer小手 move移动 text文本 not-allowed禁止 二、轮廓线outline 去掉轮廓线 1.outline: 0; 2.outline: none; 三、防止拖拽文本域resize resize: none; 四、vertical-align 实现图片与表单&#xff08;行内块元素&…

C# SHA3-224加密

打开你的.NET项目。 右键点击解决方案资源管理器中的项目&#xff0c;选择“管理NuGet包”。 在NuGet包管理器中&#xff0c;点击“浏览”选项卡。 搜索“BouncyCastle”包&#xff0c;然后点击“安装”。 等待安装完成。 using Org.BouncyCastle.Crypto.Digests; using Or…

【VSCode】 使用 Prettier 插件格式代码时 如何避免将 大写PX 转为 小写px

【方法1】 setting.json 文件中添加代码 "vetur.format.defaultFormatter.css": "none","vetur.format.defaultFormatter.scss": "none","vetur.format.defaultFormatter.less": "none","[vue]": {&qu…

7个开发者必须知道的Nodejs 设计模式

好的&#xff0c;我已经收到了完整的内容&#xff0c;我将开始翻译。 设计模式是解决日常软件设计问题所必需的。这些问题可能包括&#xff1a; 维护数据库连接创建和管理对象通知一组订阅了特定实体的用户。 如果你试图自己想出解决方案&#xff0c;你很可能需要花费大量精…