03-树2 List Leaves (25分)
2016-04-13 22:13
369 查看
在网上看到别人的代码,真心觉得写的很好
#include<stdio.h> #include<ctype.h> struct Node{ int root; int left; int right; }; int main(){ //create the tree int n; struct Node nodes[10]; scanf("%d",&n); for(int i=0;i<n;i++){ nodes[i].root = 1; nodes[i].left = -1; nodes[i].right = -1; } for(int i=0;i<n;i++){ char ch1,ch2; scanf("\n%c %c",&ch1,&ch2); if(isdigit(ch1)){ nodes[i].left = ch1 - '0'; nodes[ch1-'0'].root = 0; } if(isdigit(ch2)){ nodes[i].right = ch2 - '0'; nodes[ch2-'0'].root = 0; } } int root; for(int i=0;i<n;i++) { if(nodes[i].root == 1){ root = i; break; } } //find the leave and print it; int leaves = 0; int queue[10]; int head=0,rear=0; queue[rear++] = root; while(rear-head){ int node = queue[head++]; if(nodes[node].left == -1 && nodes[node].right == -1){ if(leaves) printf(" "); printf("%d",node); ++leaves; } if(nodes[node].left != -1){ queue[rear++] = nodes[node].left; } if(nodes[node].right != -1){ queue[rear++] = nodes[node].right; } } return 0; }
相关文章推荐
- Java操作Redis数据库方法(简单)
- 学习,复习
- HTML文档类型
- 页面开发辅助类—HtmlHelper初步了解
- MySQL入门很简单: 2 MySQL数据类型
- [android] 手机卫士保存安全号码
- 常见字符串函数的原型!!!
- (6)Java设计模式-适配器模式(Adapter)
- Serializable接口
- 数据库差集
- tomcat 配置的另外一种方法
- Seajs 简易文档 提供简单、极致的模块化开发体验
- Linux学习笔记知识点(一)
- java匿名内部类
- 积木积水
- 【HDU1255】覆盖的面积【线段树】【矩形面积交】
- Jenkins的配置
- lightoj 1038 - Race to 1 Again 【概率dp】
- C++作业3
- HTML字符实体