
leetcode关于微信读书的笔记-二叉树问题
发布日期:2021-05-04 18:23:18
浏览次数:14
分类:精选文章
本文共 1668 字,大约阅读时间需要 5 分钟。
1.分别用递归和非递归方式实现二叉树先序、中序和后序遍历
思路: 先序遍历顺序为根、左、右; 中序遍历顺序为左、根、右; 后序遍历顺序为左、右、根。 先序:(其他就是void函数里面的遍历顺序调换)* struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; *//** * Note: The returned array must be malloced, assume caller calls free(). */void preorder(struct TreeNode*root,int *res,int *reSize){ if(root==NULL){ return ; } res[(*reSize)++]=root->val; preorder(root->left,res,reSize); preorder(root->right,res,reSize);}int* preorderTraversal(struct TreeNode* root, int* returnSize){ int *res=malloc(sizeof(int)*3000); *returnSize=0; preorder(root,res,returnSize); return res;}
2。如何较为直观地打印二叉树
题目: 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。例如:
给定二叉树: [3,9,20,null,null,15,7], 3 / 9 20 / 15 7返回:
[3,9,20,15,7]思路:
二叉树的一个层序遍历,但是要将遍历的结果放在一个malloc申请的数组中代码
/** * 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* levelOrder(struct TreeNode* root, int* returnSize){ //初始化 int i=0;//用来记队列的大小 int front=-1;//用来表示队列的位置 int rear=-1; struct TreeNode *Queue[1100];//创建队列大小 struct TreeNode*p;//建立工作指针 int* arr=(int*)malloc(sizeof(int)*1150); if(root==NULL){ //当二叉树为空 (*returnSize)=0; return 0; }else{ //当二叉树不为空 Queue[++rear]=root;//根节点先入队列 while(frontval; if(p->left){ Queue[++rear]=p->left; } if(p->right){ Queue[++rear]=p->right; } } } *returnSize=i; return arr;}
发表评论
最新留言
关注你微信了!
[***.104.42.241]2025年03月23日 09时34分43秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
[百度搜索框Bootstrap模仿]
2019-03-04
XCTF web Web_php_include (php://过滤)
2019-03-04
记录一次需求变动导致的重构
2019-03-04
python-requests模块实现ip代理池
2019-03-04
使用async、await改善异步代码
2019-03-04
洛谷 1115 最大子段和、HDU 1003 Max Sum(最大字段和问题)
2019-03-04
BugkuCTF web_1-10
2019-03-04
零基础入门JavaScript 这一篇笔记就够了
2019-03-04
MySQL_属性、记录长度、设计范式、表关系
2019-03-04
MySQL_安全管理、表单传值、php操作
2019-03-04
POJ 2299 Ultra-QuickSort(树状数组+离散化+求逆序数)
2019-03-04
BUUCTF web WarmUp
2019-03-04
hcnp笔记
2019-03-04
python数据分析
2019-03-04
MySQL(四)数据库结构设计
2019-03-04
JavaScript 函数作用域
2019-03-04
2021-05-03
2019-03-04
Mybatis-plus 常用注解
2019-03-04