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

C语言 | Leetcode C语言题解之第145题二叉树的后序遍历

题目:

题解:

void addPath(int *vec, int *vecSize, struct TreeNode *node) {int count = 0;while (node != NULL) {++count;vec[(*vecSize)++] = node->val;node = node->right;}for (int i = (*vecSize) - count, j = (*vecSize) - 1; i < j; ++i, --j) {int t = vec[i];vec[i] = vec[j];vec[j] = t;}
}int *postorderTraversal(struct TreeNode *root, int *returnSize) {int *res = malloc(sizeof(int) * 2001);*returnSize = 0;if (root == NULL) {return res;}struct TreeNode *p1 = root, *p2 = NULL;while (p1 != NULL) {p2 = p1->left;if (p2 != NULL) {while (p2->right != NULL && p2->right != p1) {p2 = p2->right;}if (p2->right == NULL) {p2->right = p1;p1 = p1->left;continue;} else {p2->right = NULL;addPath(res, returnSize, p1->left);}}p1 = p1->right;}addPath(res, returnSize, root);return res;
}
http://www.lryc.cn/news/372985.html

相关文章:

  • 如何在 Vue 3 中使用 vue3-print-nb 实现灵活的前端打印
  • Go Module详解
  • 基于51单片机的智能水表
  • SQLServer 借助Navcate做定时备份的脚本
  • MBD_入门篇_21_SimulinkSignalAttributes
  • Web前端高级课程:深入探索与技能飞跃
  • 螺丝工厂vtk ThreadFactory(1)
  • Android13 蓝牙协议属性配置详解
  • 南通国际高中有哪些?南通惠立学校高中部校长见面日重磅来袭
  • Al智能图像处理APP,安卓手机专用一键优化工具资源合集下载
  • Kettle根据分类实现Excel文件拆分——kettle开发31
  • merkle tree中文
  • 制作自己的 @OnClick、@OnLongClick(告别 setOnClickListener,使用注解、反射和动态代理)
  • Android基础-RecyclerView的优点
  • C# Winform 用户控件,扩展控件,自定义控件综合实例
  • 经济学和金融学有什么区别?
  • Java课程设计:基于swing的学生信息管理系统
  • 【代码】3d->video
  • 算法01 递推算法及相关问题详解【C++实现】
  • 自动化测试火狐下载文件
  • 基于JSP技术的定西扶贫惠农推介系统
  • Linux 终端窗口设置为透明
  • MySQL 中 Varchar(50) 和 varchar(500) 区别是什么?
  • 强化RAG:微调Embedding还是LLM?
  • 提取 Excel单元格文本下的超链接
  • 一键安全体检!亚信安全携手鼎捷软件推出企业安全体检活动 正式上线
  • numpy - array(1)
  • 师彼长技以助己(6)递归思维
  • Kali Linux 2024.2
  • 【Spine学习08】之短飘,人物头发动效制作思路