leetcode145--二叉树的后序遍历

news/2024/9/23 14:17:57/

1. 题意

求后序遍历

2. 题解

2.1 递归
class Solution {
public:void addPost(TreeNode *root, vector<int> &res) {if ( nullptr == root)return ;addPost(root->left, res);addPost(root->right, res);res.emplace_back( root->val );}vector<int> postorderTraversal(TreeNode *root) {vector<int> res;addPost(root, res);return res;}
};
2.2 迭代
class Solution {
public:vector<int> postorderTraversal(TreeNode *root) {vector<int> res;stack<TreeNode *> s;TreeNode *pre = nullptr;while ( root || !s.empty()) {// 递归遍历左子树if ( root ) {s.push(root);root = root->left;continue;}// 如果根节点没有右子树或者右子树已经访问过// 则将该节点的值放入答案// 将上一个访问完成的子树设置为当前值// 将当前访问的子树置为空// 弹出当前访问的子树(root)// 否则遍历右子树if (!s.empty()) {root = s.top();if (root->right == nullptr || root->right == pre ) {res.emplace_back(root->val);pre = root;root = nullptr;s.pop();}else {root = root->right;}}}return res;}
};

http://www.ppmy.cn/news/1438303.html

相关文章

GraphicConverter 12 for Mac:强大的图像编辑与管理工具

GraphicConverter 12 for Mac是一款功能强大的图像编辑与管理软件&#xff0c;为用户提供了全面而高效的图像处理体验。 GraphicConverter 12 for Mac v12.1.1(6485)中文激活版下载 首先&#xff0c;GraphicConverter 12支持多种主流图像格式的导入和导出&#xff0c;包括JPEG、…

力扣146. LRU 缓存

Problem: 146. LRU 缓存 文章目录 题目描述思路复杂度Code 题目描述 思路 主要说明大致思路&#xff0c;具体实现看代码。 1.为了实现题目中的O(1)时间复杂度的get与put方法&#xff0c;我们利用哈希表和双链表的结合&#xff0c;将key作为键&#xff0c;对应的链表的节点作为…

【树莓派4B】如何点亮树莓派的LED灯

在之前一系列文章中&#xff0c;使用python、行人入侵检测&#xff0c;确没有使用树莓派的硬件。控制引脚进行输出&#xff1a; 如何写python点亮led灯闪烁&#xff0c;我灯接在gpio13,GPIO19,gpio26。我都想闪烁。 你可以使用Python的GPIO库来控制树莓派上的LED灯。首先&…

提升你的C编程技能:使用cURL下载Kwai视频

概述 本文将介绍如何利用C语言以及cURL库来实现Kwai视频的下载。cURL作为一个功能强大的网络传输工具&#xff0c;能够在C语言环境下轻松地实现数据的传输。我们还将探讨如何运用代理IP技术&#xff0c;提升爬虫的匿名性和效率&#xff0c;以适应Kwai视频平台的发展趋势。 正…

STM32之串口中断接收丢失数据

五六年没搞STM32了&#xff0c;这个项目一切都挺顺利&#xff0c;万万没想到被串口接收中断恶心到了。遇到的问题很奇怪 HAL_UART_Receive_IT(&huart1, &rx_buffer[rx_index], LCD_UART_LEN); 这个代码中 LCD_UART_LEN1的时候&#xff0c;接收过来的数据&#xff0c;数…

德思特车载天线方案:打造智能互联的公共安全交通网络

作者介绍 一、方案介绍 随着自动驾驶与智慧汽车概念的逐步推进&#xff0c;人们对汽车的交互性、智能性、互联性有了更高的要求。今天&#xff0c;大多数汽车制造商和供应商普遍将GNSS定位功能与其他信号如广播、电视、蓝牙、Wifi一起集成到汽车中&#xff0c;包括博世、大陆、…

Kotlin语法入门-数据类、伴生类、枚举类(9)

Kotlin语法入门-数据类、伴生类、枚举类(9) 文章目录 Kotlin语法入门-数据类、伴生类、枚举类(9)九、数据类、伴生类、枚举类1、数据类2、伴生类2.1、定义伴生类2.2、JvmStatic注解2.3、const关键字 3、枚举类3.1、定义3.2、传参3.3、继承与实现 九、数据类、伴生类、枚举类 1…

nvm管理多个node版本,快速来回切换node版本

前言 文章基于 windows环境 使用nvm安装多版本nodejs。 最近公司有的项目比较老需要降低node版本才能运行&#xff0c;由于来回进行卸载不同版本的node比较麻烦&#xff1b;所以需要使用node工程多版本管理&#xff0c;后面自己就简单捯饬了一下nvm来管理node&#xff0c;顺便…