力扣刷题Days13--翻转二叉树(js)

目录

1,题目

2,代码

2.1递归思想-深度优先遍历

2.2迭代-广度优先遍历

3,学习与总结


1,题目

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

2,代码

2.1递归思想-深度优先遍历

我们从根节点开始,递归地对树进行遍历,并从叶子节点先开始翻转。

/*** Definition for a binary tree node.* function TreeNode(val, left, right) {*     this.val = (val===undefined ? 0 : val)*     this.left = (left===undefined ? null : left)*     this.right = (right===undefined ? null : right)* }*/
/*** @param {TreeNode} root* @return {TreeNode}*/
//  迭代思想
var invertTree = function(root) {if(root === null){return root;}const left = invertTree(root.left);const right = invertTree(root.right);root.right = left;root.left = right;return root;
};

2.2迭代-广度优先遍历

/*** Definition for a binary tree node.* function TreeNode(val, left, right) {*     this.val = (val===undefined ? 0 : val)*     this.left = (left===undefined ? null : left)*     this.right = (right===undefined ? null : right)* }*/
/*** @param {TreeNode} root* @return {TreeNode}*/
//  迭代思想
var invertTree = function(root) {if(root === null){return root;}let queue = [];queue.push(root);while(queue.length > 0){const node = queue.shift();//节点中的左右孩子进行交换const tempTree = node.left;node.left = node.right;node.right = tempTree;// 当节点的左子树不为空 将该节点入队列if(node.left != null){queue.push(node.left);}if(node.right != null){queue.push(node.right)}}return root;
};

3,学习与总结

多练习  多做题!


勉励自己:贵在坚持!

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

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

相关文章

Pytorch_lightning先前版本的官方文档地址

https://lightning.ai/docs/pytorch/1.4.2/https://lightning.ai/docs/pytorch/1.4.2/ Pytorch_lightning更新到2后,和之前版本的变化较大,以前原有的api被删除了 比如:on_pretrain_routine_start 官方也没有在显眼的位置放置先前版本的文档…

成都源聚达:抖音电商创业卖什么好

在抖音这个充满活力的平台上,选择何种商品进行电商创业是许多创业者思考的问题。要在这竞争激烈的市场中脱颖而出,选品策略需细致入微,紧跟潮流同时具备前瞻性。 应考虑的是产品与平台的契合度。抖音以短视频著称,因此&#xff0c…

【操作系统概念】 第9章:虚拟内存管理

文章目录 0.前言9.1 背景9.2 按需调页9.2.1 基本概念9.2.2 按需调页的性能 9.3 写时复制9.4 页面置换9.4.1 基本页置换9.4.2 FIFO页置换9.4.3 最优(Optimal)置换9.4.4 LRU(Least Recently Used)页置换9.4.5 近似LRU页置换9.4.6 页缓冲算法 9.5 帧分配9.5…

CDR软件最新2024中文版发布更新,新功能抢先看

2024年3月5日,CorelDRAW Graphics Suite 2024正式在全球发布,这是CorelDRAW在长达36年的创意服务历程中的又一标志性成就,与此同时,作为CorelDRAW长期合作伙伴的思杰马克丁软件有限公司也推出了CorelDRAW 2024的中文版本。 感兴趣…

mysql 8.0 日志文件无权限问题处理

无论如何修改权限总是报这个日志文件权限问题。 解决方法 输入指令: setenforce 0 systemctl restart mysgld

2024最新版短剧小程序

仿抖音滑动小短剧影视微信小程序源码,带支付收益等模式、支持无限滑动;高性能滑动、预加载、视频预览,支持剧情介绍,集合壁纸另外仿抖音滑动效果;支持会员模式,支持用户单独购买等等多功能。 丰富的后台设…

数据结构与算法-插值查找

引言 在计算机科学的广阔天地中,数据结构和算法扮演着至关重要的角色。它们优化了信息处理的方式,使得我们在面对海量数据时能够高效、准确地进行检索与分析。本文将聚焦于一种基于有序数组且利用元素分布规律的查找算法——插值查找(Interpo…

电商API 接口列表|包含淘宝|京东|1688商品接口

电商API 接口列表 整理了一些 API 接口,可以用于 Vue、React、UniApp、微信小程序等项目实践练习。 为了方便调用,大多使用GET方式请求,传参采用混合 params 和 query方式。 所有接口仅供学习交流使用,不保证实时更新,…

公网IP与私有IP及远程互联

1.公网有私有IP及NAT 公网IP是全球唯一的IP,通过公网IP,接入互联网的设备是可以访问你的设备。但是IPV4资源有限,一般ISP(Internet Service Provider)并不会为用户提供公网IP。所以家里的计算机在公司是没法直接使用windows远程桌面直接访问…

JVM-垃圾收集器G1

G1垃圾回收器 概述: 是一款面向服务器的垃圾收集器,主要针对配备多个处理器及大容量内存的机器. 以极高效率满足GC停顿时间要求的同时,还具备高吞吐量性能特征.G1保留了年轻代和老年代的概念,但不再是物理隔阂了,它们都是(可以不连…

【C++】C++11---右值引用和移动语义

目录 1、什么是左值引用和右值引用2、左值引用与右值引用比较3、右值引用使用场景和意义4、右值引用引用左值的分析5、完美转发 1、什么是左值引用和右值引用 传统的C语法中就有引用的语法,而C11中新增了的右值引用语法特性,所以从现在开始我们之前学习…

Sora的核心技术预测

在ChatGPT火爆全网的一年后,OpenAI公司又一次大显身手:推出了全新的文生视频大模型Sora。直接输入文字提示词,即可直接生成长达60秒的视频。 “现实真的要不存在了。” 马斯克直接大呼:人类彻底完蛋了! 马斯克为什么…