学习总结——1.31

题目:P1305 新二叉树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

代码:

#include<stdio.h> 
#include<stdlib.h> 
  
// 定义一个结构体,表示一个程序员  
struct programmer {  
    char lc; // 左孩子  
    char rc; // 右孩子  
} lt[130]; // 创建一个名为lt的数组,存储130个程序员  
  
char h, h1; 
  
// 定义一个递归函数,用于遍历二叉树并打印每个节点的字符  
void sm(char x) {  
    if (x == '*') return; // 如果当前节点是'*',则返回,不继续遍历  
    printf("%c", x); // 打印当前节点的字符  
    sm(lt[x].lc); // 递归遍历左孩子  
    sm(lt[x].rc); // 递归遍历右孩子  
}  
  
int main() {  
    int n; // 定义整数n,表示要输入的程序员数量  
    scanf("%d", &n); // 输入n的值  
    scanf(" %c", &h1); // 输入第一个程序员的字符  
    scanf(" %c", &lt[h1].lc); // 输入第一个程序员的左孩子字符  
    scanf(" %c", &lt[h1].rc); // 输入第一个程序员的右孩子字符  
    for (int i = 2; i <= n; i++) {  
        scanf(" %c", &h); // 输入当前程序员的字符  
        scanf(" %c", &lt[h].lc); // 输入当前程序员的左孩子字符  
        scanf(" %c", &lt[h].rc); // 输入当前程序员的右孩子字符  
    }  
    sm(h1); // 从第一个程序员开始遍历整棵二叉树并打印每个节点的字符  
    return 0; 
}

解题思路:构建一个二叉树,其中每个节点是一个程序员,节点的左孩子和右孩子表示该程序员的孩子。然后,代码从第一个程序员开始遍历整棵树,并打印每个节点的字符。

相关推荐

  1. 学习总结13

    2024-02-01 05:08:01       22 阅读
  2. 学习总结11

    2024-02-01 05:08:01       27 阅读
  3. 学习总结

    2024-02-01 05:08:01       16 阅读
  4. 学习总结

    2024-02-01 05:08:01       14 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-01 05:08:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-01 05:08:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-01 05:08:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-01 05:08:01       20 阅读

热门阅读

  1. springboot启动异常

    2024-02-01 05:08:01       34 阅读
  2. centos7常用命令之安装插件1

    2024-02-01 05:08:01       30 阅读
  3. 西方网络安全人才培养的挑战及对策

    2024-02-01 05:08:01       32 阅读
  4. kubectl 命令自动补全

    2024-02-01 05:08:01       33 阅读
  5. 项目经理作为“夹心饼干”,如何夹缝求生?

    2024-02-01 05:08:01       31 阅读
  6. SpringBoot-基础

    2024-02-01 05:08:01       21 阅读
  7. springboot自定义starter

    2024-02-01 05:08:01       30 阅读