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

c++二叉树遍历

参考文献

数据结构c语言版,严蔚敏_吴伟民著。

二叉树

在这里插入图片描述

中序遍历代码实现

#include<vector>
#include<iostream>
using namespace std;//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:vector<int> inorderTraversal(TreeNode* root) {vector<int> ans;if (root == nullptr) return ans;if (root->left != nullptr) {vector<int> ansLeft = inorderTraversal(root->left);     for (auto item : ansLeft) {ans.push_back(item);}}ans.push_back(root->val);if (root->right != nullptr) {vector<int> ansRight = inorderTraversal(root->right);for (auto item : ansRight) {ans.push_back(item);}}return ans;}
};int main()
{Solution s;TreeNode root(1);TreeNode node2(2);TreeNode node3(3);TreeNode node4(4);TreeNode node5(5);TreeNode node6(6);TreeNode node7(7);TreeNode node8(8);TreeNode node9(9);TreeNode node10(10);TreeNode node11(11);root.left = &node2;root.right = &node3;node2.left = &node4;node2.right = &node5;node3.left = &node6;node3.right = &node7;node5.left = &node8;node5.right = &node9;node9.left = &node10;node9.right = &node11;vector<int> ans = s.inorderTraversal(&root);for (auto item : ans) {cout << item << " ";}cout << endl;return 0;
}

结果

在这里插入图片描述

相关文章:

c++二叉树遍历

参考文献 数据结构c语言版&#xff0c;严蔚敏_吴伟民著。 二叉树 中序遍历代码实现 #include<vector> #include<iostream> using namespace std;//Definition for a binary tree node. struct TreeNode {int val;TreeNode *left;TreeNode *right;TreeNode() : v…...

day14_集合

今日内容 零、 复习昨日 一、集合框架体系 二、Collection 三、泛型 四、迭代 五、List(ArrayList、LinkedList) 零、 复习 throw和throws什么区别 throwthrows位置方法里面方法签名上怎么写throw 异常对象throws异常类名(多个)作用真正抛出异常对象声明抛出的异常类型 运行时…...

私有云:架构图

私有云&#xff1a;架构图 1、架构图2、服务器分配及配置3、本地物理机hosts文件配置4、相关软件包5、本地物理机电脑配置参考【内存最好20G往上】 机缘巧合之下突然想玩玩虚拟化&#xff0c;然后就查资料本地自己搭建一套私有云 使用【VMware Workstation】这个虚拟化软件来进…...

在安装和配置DVWA渗透测试环境遇到的报错问题

安装环境 前面的安装我参考的这个博主&#xff1a;渗透测试漏洞平台DVWA环境安装搭建及初级SQL注入-CSDN博客 修改bug 1.首先十分感谢提供帮助的博主&#xff0c;搭建DVWA Web渗透测试靶场_dvwa 白屏-CSDN博客&#xff0c;解决了我大多数问题&#xff0c;报错如下&#xff1…...

深度学习_2 数据操作

数据操作 机器学习包括的核心组件有&#xff1a; 可以用来学习的数据&#xff08;data&#xff09;&#xff1b;如何转换数据的模型&#xff08;model&#xff09;&#xff1b;一个目标函数&#xff08;objective function&#xff09;&#xff0c;用来量化模型的有效性&…...

win 下安装 nvm 的使用与配置

nvm 全名 node.js version management&#xff0c;是一个 nodejs 的版本管理工具。通过它可以安装和切换不同版本的 nodejs。 注&#xff1a;如果已经安装了 nodejs 需先卸载后再安装 nvm 为了确保 nodejs 已彻底删除&#xff0c;可以看看安装目录中是否有 node 文件夹&#x…...

Git笔记

删除最后一次提交 git reset --hard HEAD~1...

省钱兄共享茶室共享娱乐室小程序都有哪些功能

随着共享经济的兴起&#xff0c;共享茶室和共享娱乐室作为一种新型的共享空间&#xff0c;逐渐受到了年轻人的青睐。省钱兄共享茶室共享娱乐室小程序作为该领域的优秀代表&#xff0c;集多种功能于一身&#xff0c;为用户提供了一个便捷、舒适、高效的社交娱乐平台。本文将详细…...

vue-cli方式创建vue3工程

创建工程前&#xff0c;可先用命令行查看是否安装vue-cli。 通过命令行查看vue-cli版本 vue --version 如果已安装vue-cli&#xff0c;则会显示当前安装版本 vue/cli 4.5.13 如果没有安装vue-cli&#xff0c;会提示安装 vue : 无法识别“vue”命令 需要通过npm全局安装v…...

四、W5100S/W5500+RP2040树莓派Pico<TCP Server数据回环测试>

文章目录 1. 前言2. 协议简介2.1 简述2.2 优点2.3 应用 3. WIZnet以太网芯片4. TCP Server数据回环测试4.1 程序流程图4.2 测试准备4.3 连接方式4.4 相关代码4.5 测试现象 5. 注意事项6. 相关链接 1. 前言 在计算机网络中&#xff0c;TCP Server是不可或缺的角色&#xff0c;它…...

技术视角下的跑腿小程序开发:关键挑战和解决方案

跑腿小程序作为连接服务提供者和用户的桥梁&#xff0c;面临着诸多技术挑战。本文将聚焦于技术层面的关键挑战&#xff0c;并提供解决方案&#xff0c;以帮助开发者应对技术上的复杂问题。 1. 实时性与性能挑战 挑战&#xff1a; 跑腿小程序需要实时地匹配订单、更新状态和提…...

Mysql进阶-索引篇(下)

SQL性能分析 SQL执行频率 MySQL 客户端连接成功后&#xff0c;通过 show [session|global] status 命令可以提供服务器状态信息。通过如下指令&#xff0c;可以查看当前数据库的INSERT、UPDATE、DELETE、SELECT的访问频次&#xff0c;通过sql语句的访问频次&#xff0c;我们可…...

从龙湖智创生活入选金钥匙联盟,透视物业服务力竞争风向

假设你是业主&#xff0c;物业“服务”和“管理”&#xff0c;哪个名词看起来更加亲切、讨喜&#xff1f; 站在个人角度&#xff0c;“服务”更让人感受到温度。但对于一个要长期运营下去的住宅或者商企项目来说&#xff0c;整体的管理又必不可少。前者面向人&#xff0c;后者…...

什么是 CNN? 卷积神经网络? 怎么用 CNN 进行分类?(2)

参考视频&#xff1a;https://www.youtube.com/watch?vE5Z7FQp7AQQ&listPLuhqtP7jdD8CD6rOWy20INGM44kULvrHu 视频4&#xff1a;CNN 中 stride 的概念 如上图&#xff0c;stride 其实就是 ”步伐“ 的概念。 默认情况下&#xff0c;滑动窗口一次移动一步。而当 stride …...

样式迁移 - Style Transfer

所谓风格迁移&#xff0c;其实就是提供一幅画(Reference style image)&#xff0c;将任意一张照片转化成这个风格&#xff0c;并尽量保留原照的内容(Content)。 将样式图片中的样式迁移到内容图片上&#xff0c;得到合成图片。 基于CNN的样式迁移 奠基性工作&#xff1a; 首先…...

UE5.3启动C++项目报错崩溃

最近尝试用C来练习&#xff0c;碰到一个启动崩溃的事情 按照官方给的步骤做的&#xff1a;官方链接 结果是自定义的Character的问题&#xff0c;在自定义Character的构造函数里调用了&#xff1a; check(GEngine ! nullptr); GEngine->AddOnScreenDebugMessage(-1, 5, FCol…...

C/S架构和B/S架构

1. C/S架构和B/S架构简介 C/S 架构&#xff08;Client/Server Architecture&#xff09;和 B/S 架构&#xff08;Browser/Server Architecture&#xff09;是两种不同的软件架构模式&#xff0c;它们描述了客户端和服务器之间的关系以及数据交互的方式。 C/S 架构&#xff08…...

【AD9361 数字接口CMOS LVDSSPI】C 并行数据 LVDS

接上一部分&#xff0c;AD9361 数字接口CMOS &LVDS&SPI 目录 一、LVDS模式数据路径和时钟信号LVDS模式数据通路信号[1] DATA_CLK[2] FB_CLK[3] Rx_FRAME[4] Rx_D[5&#xff1a;0][5] Tx_FRAME[6]Tx_D[5&#xff1a;0][7] ENABLE[8] TXNRX系列 二、LVDS最大时钟速率和信…...

开关电源测试方案分享:电源纹波及噪声测试方法、测试标准

纹波及噪声影响着设备的性能和稳定性&#xff0c;是开关电源测试的重要环节。通过电源纹波噪声测试&#xff0c;检测电源纹波情况&#xff0c;从而提升开关电源的性能。纳米软件开关电源自动化测试软件助力纹波和噪声测试&#xff0c;提升测试效能。 开关电源纹波及噪声测试方法…...

git的使用——如何创建.gitignore文件,排除target、.idea文件夹的提交

前言 git作为开发人员必备的技能&#xff0c;需要熟练掌握&#xff0c;本篇博客记录一些git使用的场景&#xff0c;结合具体问题进行git使用的记录。以gitee的使用为例。 本篇博客介绍如何创建.gitignore文件&#xff0c;排除一些文件夹的提交&#xff0c;比如排除target、.i…...

指尖藏趣,抽享惊喜——扭蛋机抽赏盲盒小程序前端功能详解

抽赏盲盒所带来的未知惊喜与收集乐趣&#xff0c;深受不同年龄段用户的喜爱&#xff0c;扭蛋机抽赏盲盒小程序则打破线下场景限制&#xff0c;让这份乐趣随时可及。该小程序前端功能以“简约操作、趣味体验”为核心&#xff0c;聚焦用户可直接操作的功能板块&#xff0c;简化流…...

无代码爬虫方案:OpenClaw调度Qwen3.5-9B解析动态网页数据

无代码爬虫方案&#xff1a;OpenClaw调度Qwen3.5-9B解析动态网页数据 1. 为什么需要无代码爬虫&#xff1f; 作为一个经常需要从网页抓取数据的技术博主&#xff0c;我经历过太多抓取数据的痛苦时刻。传统爬虫开发需要处理反爬机制、解析动态加载内容、维护复杂的XPath或CSS选…...

开局掌控者:EdB Prepare Carefully - RimWorld自定义体验革命

开局掌控者&#xff1a;EdB Prepare Carefully - RimWorld自定义体验革命 【免费下载链接】EdBPrepareCarefully EdB Prepare Carefully, a RimWorld mod 项目地址: https://gitcode.com/gh_mirrors/ed/EdBPrepareCarefully 副标题&#xff1a;如何告别随机开局&#xf…...

前端未来趋势:别再用老掉牙的技术了

前端未来趋势&#xff1a;别再用老掉牙的技术了 各位前端同行&#xff0c;咱们今天聊聊前端未来趋势。别告诉我你还在使用老掉牙的技术&#xff0c;那感觉就像在使用诺基亚手机。 为什么你需要关注前端未来趋势 最近看到一个项目&#xff0c;还在使用 jQuery&#xff0c;我差点…...

Claude官方Skills推荐

Claude官方skills仓库提供了17个skills### 创意设计类 (5个) #### 1. algorithmic-art - 算法艺术生成器**一句话简介**&#xff1a;使用 p5.js 创建带种子随机数和参数探索的算法艺术 **触发条件**&#xff1a;代码艺术、生成艺术、算法艺术、流场、粒子系统#### 2. canvas-de…...

实战驱动:告诉快马你的vue项目类型,获取量身定制的环境与示例

最近在做一个Vue 3移动端H5项目时&#xff0c;发现环境配置和基础搭建特别耗时。经过几次实践&#xff0c;我总结出了一套高效的项目初始化方法&#xff0c;今天就来分享这个实战经验。 项目初始化与移动端适配 使用Vue CLI创建项目后&#xff0c;首先要解决的就是移动端适配问…...

【基于Tube的非线性系统模型预测控制MPC】基于鲁棒控制不变集的管式模型预测控制方案及其在利普希茨非线性系统中的应用附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f447; 关注我领取海量matlab电子书和…...

HTML网页元素中的图片和超链接

哈哈哈&#xff0c;又来更新我这一周里面新学的web前端开发技术啦&#xff01;今天我将与大家分享网页元素中的图片和超链接。一.图像的应用HTML中加入图片有3种不同的路径&#xff1a;1.绝对路径&#xff1a;是指互联网上唯一且完整的地址&#xff0c;用来精准定位资源。绝对路…...

Teensy41嵌入式FTP服务器库:轻量协议栈与多网络适配

1. 项目概述FTP_Server_Teensy41 是一款专为 Teensy 4.x 系列微控制器&#xff08;特别是 Teensy 4.0 和 Teensy 4.1&#xff09;深度定制的嵌入式 FTP 服务器库。它并非从零构建&#xff0c;而是基于 Jean-Michel Gallego 开发的成熟开源项目 Arduino-Ftp-Server 进行了系统性…...

机器视觉C# 调用相机:从 USB 摄像头到海康工业相机(WinForms WPF)

&#x1f3a5; 机器视觉C# 调用相机&#xff1a;从 USB 摄像头到海康工业相机&#xff08;WinForms & WPF&#xff09; &#x1f4dd; 前言 在工业自动化、医疗影像或简单软件开发中&#xff0c;调用摄像头是一个绕不开的话题。在项目中同时遇到了两种需求&#xff1a; …...