打印叶节点到根的路径
发布日期:2022-02-27 02:37:59
浏览次数:48
分类:技术文章
本文共 1754 字,大约阅读时间需要 5 分钟。
#include#include typedef struct node{ int data; struct node *lchild; struct node *rchild;} *binaryTree;binaryTree init();void printLeavesToRoot(binaryTree root, int* arr, int pos);int main(){ /* input: 1 2 3 4 5 6 7 */ binaryTree root = init(); int arr[100] = { 0}, pos = 0; printLeavesToRoot(root, arr, pos);}binaryTree init(){ binaryTree node1 = (binaryTree)malloc(sizeof(struct node)); node1->data = 1; binaryTree node2 = (binaryTree)malloc(sizeof(struct node)); node2->data = 2; binaryTree node3 = (binaryTree)malloc(sizeof(struct node)); node3->data = 3; binaryTree node4 = (binaryTree)malloc(sizeof(struct node)); node4->data = 4; binaryTree node5 = (binaryTree)malloc(sizeof(struct node)); node5->data = 5; binaryTree node6 = (binaryTree)malloc(sizeof(struct node)); node6->data = 6; binaryTree node7 = (binaryTree)malloc(sizeof(struct node)); node7->data = 7; node1->lchild = node2; node1->rchild = node3; node2->lchild = node4; node2->rchild = node5; node3->lchild = node6; node3->rchild = node7; node4->lchild = NULL; node4->rchild = NULL; node5->lchild = NULL; node5->rchild = NULL; node6->lchild = NULL; node6->rchild = NULL; node7->lchild = NULL; node7->rchild = NULL; return node1;}void printLeavesToRoot(binaryTree root, int *arr, int pos){ if(root == NULL) return; arr[pos++] = root->data; if(root->lchild == NULL && root->rchild == NULL) { pos --; for(int i = pos; i >=0; i--) printf("%d ", arr[i]); printf("\n"); return; } printLeavesToRoot(root->lchild, arr, pos); printLeavesToRoot(root->rchild, arr, pos);}
转载地址:https://blog.csdn.net/weixin_43399464/article/details/120496013 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年04月15日 14时42分35秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
原创专辑来了
2019-04-28
好好做好你喜欢做的事情,并且把它做好
2019-04-28
反馈不足
2019-04-28
人生永远没有太晚的开始
2019-04-28
python 周日福利来了
2019-04-28
状态模式
2019-04-28
跳表SkipList
2019-04-28
跳跃表(Skip list)原理与java实现
2019-04-28
Java 常见的 30 个误区与细节
2019-04-28
干货|基于 Spring Cloud 的微服务落地
2019-04-28
WEB攻击手段及防御第2篇-SQL注入
2019-04-28
WEB攻击手段及防御第3篇-CSRF
2019-04-28
WEB攻击手段及防御-扩展篇
2019-04-28
spring bean初始化及销毁你必须要掌握的回调方法。
2019-04-28
mysql语句性能开销检测profiling详解
2019-04-28
hashCode到底有什么用?
2019-04-28
设计模式之动态代理模式实战
2019-04-28
设计模式之静态代理模式实战
2019-04-28
作为架构师,你必需要搞清楚的概念:POJO、PO、DTO、DAO、BO、VO
2019-04-28
mysql查询优化explain命令详解
2019-04-28