后序遍历的线索化二叉树

对于后序遍历,需要明确,往往叶子结点,只能指向右子树(如果右子树存在的情况),或者指向该结点(因为这才是后序遍历),同样在进行退出到前一次递归的时候,我们要将pre指向当前的结点,这样才能够让退回上一个循环的指针,在满足条件的情况下,将结点指向它当前递归返回的它的下一个递归的pre直接结点前驱(我感觉这样能够好理解一点)

后序遍历的线索化二叉树

#pragma region 后序线索化
Node* pre;
void PostOrder(Node* root)
{if (root == NULL){return;}Node* tmpnode = NULL;tmpnode = root;PostOrder(tmpnode->lchild);PostOrder(tmpnode->rchild);if (tmpnode->lchild == NULL && tmpnode != NULL){tmpnode->ltag = 1;tmpnode->lchild = pre;}if (pre->rchild == NULL&& pre!=NULL){pre->rchild = tmpnode;pre->rtag = 1;}pre = root;cout << tmpnode->data << endl;
}
#pragma endregion

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

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

相关文章

如何做谷歌seo排名优化?

要优化谷歌搜索排名&#xff0c;网站内容是重中之重&#xff0c;最主要就是创建质量高、相关性强的网站内容&#xff0c; 何谓质量高&#xff1f;最起码要求图文并茂&#xff0c;文章要长&#xff0c;要有视频引用&#xff0c;这是质量高的最基础要求&#xff0c;同时还需要确…

07.领域驱动设计:3种常见微服务架构模型的对比和分析

目录 1、概述 2、整洁架构 3、六边形架构 4、三种微服务架构模型的对比和分析 5、从三种架构模型看中台和微服务设计 5.1 中台建设要聚焦领域模型 5.2 微服务要有合理的架构分层 5.2.1 项目级微服务 5.2.2 企业级中台微服务 5.3 应用和资源的解耦与适配 6、总结 1、概…

【Java基础】之进程与线程

进程与线程 1. 线程与进程1.1 概念1.2 区别与联系 2. 线程的5种状态和切换2.1 简单介绍2.2 状态切换2.2.1 重点情况 3. 线程中常见的方法4. 线程池 1. 线程与进程 1.1 概念 进程&#xff1a;资源分配的基本单元&#xff0c;如QQ音乐 线程&#xff1a;资源调度的基本单元&…

私域必看:让你事半功倍的多微信高效管理方法

随着私域运营的需求不断增长&#xff0c;对于使用微信进行运营的企业或个人&#xff0c;高效地管理微信变得越发重要。今天就分享一些高效管理多个微信账号的实用方法&#xff0c;帮你节省时间。 1.巧用标签和分组 微信的标签和分组功能&#xff0c;相信很多人都使用过&#xf…

AtCoder Beginner Contest 338 --- D - Island Tour -- 题解

D - Island Tour 题目大意 思路解析&#xff1a; 可以发现 1->2->4 整体减1变为5->1->3&#xff0c; 其中2->4的距离等于1->3的距离 其中1->2的距离不等于5->1的距离&#xff0c;则只有当[xj - i] < 0后的xj - > xj1 和 xj -> xj-1的距离才会…

电子液晶屏幕生产厂污废水处理需要哪些工艺设备

随着电子液晶屏幕行业的不断发展&#xff0c;污废水处理成为了一个重要的环保问题。为了达到合规性排放要求&#xff0c;并保护环境&#xff0c;厂家需要采取一系列工艺设备来处理污废水。 首先&#xff0c;常见的一种处理工艺是物理与化学处理。物理处理包括预处理与固液分离&…

基于go mod模式创建项目最佳实践

希望能带给你成功的喜悦&#xff01; 除go get、vendor这两种方式外&#xff0c;Go版本在1.11之后推出了go module模式来管理依赖&#xff0c;使用go mod时下载的依赖文件在$GOPATH/pkg/mod/下。本文以两种办法介绍如何创建go mod项目。 目录 goland开启玩法 本地手动创建项目…

Java二维码图片识别

前言 后端识别二维码图片 代码 引入依赖 <dependency><groupId>com.google.zxing</groupId><artifactId>javase</artifactId><version>3.2.1</version></dependency><dependency><groupId>com.google.zxing<…

C语言指针进阶之四-函数指针的使用之回调函数及库函数qsort函数详解(详解)

目录 1.回调函数 1.1引入 1.2回调函数的使用&#xff0c;加减乘除计算器改造 2.回调函数的应用-qsort函数 实例1&#xff1a;整型数组排序 实例2&#xff1a;结构体排序 ①按照整型数据来排序&#xff0c;这里是按照年龄来排序 ②按照名字来排序&#xff0c;也就是比较…

Java 面试题之 IO(一)

字节流 文章目录 字节流InputStream&#xff08;字节输入流&#xff09;OutputStream&#xff08;字节输出流&#xff09; 文章来自Java Guide 用于学习如有侵权&#xff0c;立即删除 InputStream&#xff08;字节输入流&#xff09; InputStream用于从源头&#xff08;通常是…

【Mac系统PyCharm连接至Linux服务器,实现本地与服务器的实时交互】

Mac系统PyCharm连接至Linux服务器&#xff0c;实现本地与服务器的实时交互 0、目录 1、动机2、说明3、PyCharm 连接Linux服务器操作过程 3.1 连接服务器3.2 验证连接服务器是否成功3.3 查看Linux服务器文件构成3.4 本地与Linux服务器上传内容3.5 从PyCharm的terminal进入到刚…

华为OD-华为机试精讲500篇系列文章目录介绍(持续补充ing)

目录 背景介绍 什么是华为OD&#xff1f; OD现状 OD趋势 华为OD机考刷题攻略 1、刷题资料&#xff1a;投递岗位通过筛选后提供 2、注意事项&#xff1a; 真题代码目录 背景介绍 经济下行的这几年&#xff0c;每个人都感同身受&#xff0c;如何让自己在芸芸众生中脱颖而…