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

力扣——二叉树的后序遍历(C语言)

1.题目:

给你一棵二叉树的根节点 root ,返回其节点值的后序遍历。

2.原理:

这里的遍历,是要存入到数组中,所以需要建立数组,这里传参有*returnSize,需要求节点个数,可以调用前面TreeSize函数,(小编前面树的实现里面有),这里要传入记录数组元素个数,后面运用递归,向下递归,直到空节点,当左右节点回退都为零,然后存入这个节点,直到回退到根节点。

3.整体代码:

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     struct TreeNode *left;*     struct TreeNode *right;* };*/
/*** Note: The returned array must be malloced, assume caller calls free().*/
typedef struct TreeNode TreeNode;int TreeSize(TreeNode*root){if(root==NULL){return 0;}return 1+TreeSize(root->left)+TreeSize(root->right);}void PreOrder(TreeNode*root,int*arr,int*i)
{if(root==NULL){return;}PreOrder(root->left,arr,i);PreOrder(root->right,arr,i);arr[(*i)++]=root->val;
}
int* postorderTraversal(struct TreeNode* root, int* returnSize) {*returnSize=TreeSize(root);int*arr=(int*)malloc(sizeof(int)*(*returnSize));int num=0;PreOrder(root,arr,&num);return arr;
}


http://www.mrgr.cn/news/62162.html

相关文章:

  • 【Redis经典面试题七】Redis的事务机制是怎样的?
  • 奥迪TT MK1(初代奥迪TT、第一代奥迪TT)仪表盘故障/不精准/水温/剩余油量不准,如何修复、测试、复位?
  • Linux驱动开发(17):输入子系统–电阻触摸驱动实验
  • 【OAuth2系列】如何使用OAuth 2.0实现安全授权?详解四种授权方式
  • 在Lua中,Metatable元表如何操作?
  • C# 设计模式(创建型模式):原型模式
  • 开发中的拓展属性:增强功能与灵活性
  • SQL语言基础
  • ConcurrentSkipListSet和ConcurrentSkipListMap分析以及总结Set
  • 魔法伤害--是谁偷走了我的0
  • NEEP-EN2-2020-Section1
  • 100种算法【Python版】第28篇——扩展欧几里得算法
  • 【Linux】--- 开发工具篇:yum、vim、gcc、g++、gdb、make、makefile
  • highcharts的datalabels标签格式化
  • 【计网】网络协议栈学习总结 --- 浏览器上输入网址域名后点击回车,到底发生了什么?
  • 通过不当变更导致 PostgreSQL 翻车的案例分析与防范
  • Python金色流星雨(完整代码)
  • ubuntu 挂载 新 硬盘 ext3
  • 高等数学(数二专题)
  • 在Windows下通过pip安装Selenium
  • lenovo联想小新 潮7000-14AST(81GE)笔记本原厂Win10系统镜像安装包下载
  • 软件评测第二期
  • 练习LabVIEW第二十七题
  • window11使用wsl2安装Ubuntu22.04
  • 易至狂欢购车季火热开启,EV3青春版打造年轻一代出行新选择
  • 如何安装自动化测试工具katalon?