二叉树题目----1 前序中序后序遍历二叉树并返回相应的遍历(不是打印)
前序遍历
/*** 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().*/
int *array;
int size;void _preorderTraversal(struct TreeNode *root){if(root == NULL){return ;}//处理根结点array[size++]=root->val;_preorderTraversal(root->left);_preorderTraversal(root->right);
}int* preorderTraversal(struct TreeNode* root, int* returnSize){array = (int *)malloc(sizeof(int)*100*1000);size =0 ;_preorderTraversal(root);*returnSize = size;return array;
}
中序遍历
/*** 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().*/int *array;
int size;void _preorderTraversal(struct TreeNode *root){if (root == NULL){return;}//处理根结点_preorderTraversal(root->left);array[size++] = root->val;_preorderTraversal(root->right);
}int* inorderTraversal(struct TreeNode* root, int* returnSize){array = (int *)malloc(sizeof(int)* 100 * 1000);size = 0;_preorderTraversal(root);*returnSize = size;return array;
}
后序遍历
/*** 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().*/int *array;
int size;void _preorderTraversal(struct TreeNode *root){if (root == NULL){return;}//处理根结点_preorderTraversal(root->left);_preorderTraversal(root->right);array[size++] = root->val;
}
int* postorderTraversal(struct TreeNode* root, int* returnSize){array = (int *)malloc(sizeof(int)* 100 * 1000);size = 0;_preorderTraversal(root);*returnSize = size;return array;
}
二叉树题目----1 前序中序后序遍历二叉树并返回相应的遍历(不是打印)相关推荐
- 二叉树题目 ----7 前序中序遍历构造二叉树
前序中序遍历构造二叉树 思路 在前序中找根结点 根据根结点 + 中序,分成左右两棵子树 根据子树长度,把前序分成左右两颗子树 递归处理子树 /*** Definition for a binary t ...
- 二叉树的前、中、后序遍历
所谓二叉树遍历是按某种特定规则,依次对二叉树中的节点进行相应的操作,并且每个节点只操作一次.访问结点所做的操作依赖于具体的应用问题. 遍历是二叉树上最重要的运算之一,也是二叉树进行其它运算的基础. 二 ...
- 【数据结构与算法】力扣:二叉树的前、中、后序遍历
递归法 前序遍历 给你二叉树的根节点 root ,返回它节点值的前序 遍历. 示例 1: 输入:root = [1,null,2,3] 输出:[1,2,3] 示例 2: 输入:root = [] 输出 ...
- 二叉树的前、中、后序遍历的代码实现(递归方式)
测试的二叉树的结构 root lfb1 rtb1rtb2 控制台输出的遍历结果 ======从根节点开始,前序遍历此二叉树======= root lfb1 rtb1 rtb2 ======从根节点开 ...
- java中二叉树_Java工程师面试1000题224-递归非递归实现二叉树前、中、后序遍历...
224.使用递归和非递归实现二叉树的前.中.后序遍历 使用递归来实现二叉树的前.中.后序遍历比较简单,直接给出代码,我们重点讨论非递归的实现. class Node { public int valu ...
- 二叉树遍历方法——前、中、后序遍历(图解)
目录 一.前序遍历 (1)递归版本 (2)非递归版本 二.中序遍历 (1)递归版本 (2)非递归版本 三.后序遍历 (1)递归版本 (2)非递归版本 四.总结 五.测试程序 六.程序输出 二叉树的遍历 ...
- 二叉树的前、中、后的非递归遍历
题目 实现一个链式存储的二叉树,采用非递归的形式,按照前.中.后序的顺序遍历二叉树. 代码 /** * 二叉树的前.中.后序的非递归遍历 **/#include <iostream> us ...
- 序列化和反序列化二叉树 -----前序,中序,后序,层序
目录 一.序列化和反序列化 1.什么是序列化和反序列化 二.前序遍历 1.序列化 1.问题分析 2.代码实现 2.反序列化 1.问题分析 2.代码实现 三.后序遍历 1.序列化 1.思路分析 2.代码 ...
- 用前序中序创建二叉树(用中序后序创建二叉树)
定义二叉树结点 比如就拿这个二叉树 前序中序创建 因为前序遍历的顺序是 根 , 左 ,右. 中序的遍历是 左 根 右. 我们会很不好想,但我们可以用前序和中序把上面那个二叉树的遍历一边 前序遍历:AB ...
最新文章
- xcode 4.3.2 use storyboard创建TableView
- sql-having
- jQuery EasyUI combobox多选及赋值、读取、回显
- 2013年4月 计算机网络原理答案,2013年4月份自学考试计算机网络原理04741答案
- java流行的测试框架调研+市面上书籍调研
- cvi中c语言只保留两位小数,CVI编程常见问题与错误-2012.9
- 关于Java Collections的几个常见问题
- UEditor工具栏上自定义按钮、图标、事件、窗口页面
- HDU1856More is better(并查集)
- Yeelink初步体验
- 手把手教你部署Nagios
- 用友u8数据库表结构
- knex 单表查询_sql 单表查询练习
- Pandas模块,我觉得掌握这些就够用了!
- VC中用内存映射文件处理大文件
- springboot整合logback日志
- 系统集成项目管理工程师高频考点(第九章)
- 赠与大学毕业生_如何出售或赠与您的Kindle
- python爬电影排名用os bs4_Pyhton网络爬虫实例_豆瓣电影排行榜_BeautifulSoup4方法爬取...
- 介绍Namada:链间资产不可知(Asset-agnostic)隐私
热门文章
- OC之OBJC2_UNAVAILABLE
- jquery获得下拉框的值
- linux里的进程简介
- 垂直居中-父元素高度确定的多行文本(方法二)
- 菜鸟nginx源码剖析
- 一段个性化stringgrid的代码
- python configparser 注释_使用configpar添加注释
- python后台开发知识点_面试总结:鹅厂Linux后台开发面试笔试C++知识点参考笔记...
- ajax eval html,Ajax eval的应用示例
- java显示长度和第一个字符_从Java字符串中以长度1的字符串返回的第一个字母的最佳方法是什么?...