NowCoder | KY11 二叉树遍历

简介: NowCoder | KY11 二叉树遍历

NowCoder | KY11 二叉树遍历

OJ链接

  • 简单来说就是构建这个二叉树
  • 定义结构体
  • 通过递归方式根据输入的字符串构建二叉树。对于输入字符串中的每个字符,如果是 ‘#’ 表示空节点,否则创建一个新节点,并递归地构建左右子树。
#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
typedef struct TreeNode {
    struct TreeNode* left;
    struct TreeNode* right;
    char val;
} TNode;
//创建节点
TNode* CreateTree(char* a,int*pi) {
    if(a[*pi] == '#')
    {
        ++(*pi);
        return NULL;
    }
    TNode* root = (TNode*)malloc(sizeof(TNode));
    root->val = a[(*pi)++];
    root->left = CreateTree(a,pi);
    root->right = CreateTree(a,pi);
    return root;
}
//前序遍历
void InOrder(TNode* root)
{
    if(root == NULL)
        return;
    InOrder(root->left);
    printf("%c ",root->val);
    InOrder(root->right);
}
int main() {
    char str[100];
    scanf("%s", str);
    int i = 0;
    TNode* root = CreateTree(str,&i);
    InOrder(root);
    return 0;
}
相关文章
|
SQL 关系型数据库 MySQL
milvus-use教程 python
本项目参考vanna项目,获取数据库元数据和问题SQL对,存入Milvus向量数据库,并进行相似性检索。采用m3e-large嵌入模型,通过DatabaseManager类实现数据库连接持久化,MilvusVectorStore类封装了Milvus操作方法,如创建集合、添加数据和查询。项目提供init_collections、delete_collections等文件用于初始化、删除和管理集合。所用Milvus版本较新,API与vanna项目不兼容。 [项目地址](https://gitee.com/alpbeta/milvus-use)
|
SQL Java 数据库连接
若依框架---PageHelper分页(三)
若依框架---PageHelper分页(三)
658 0
|
API
STM32速成笔记(九)—RTC
本文详细介绍了RTC模块,介绍了STM32的RTC的特性,框图,配置步骤,并给出了详细的程序设计。最后,针对实际使用时可能遇到的问题给出了解决方法以及程序。
1221 0
STM32速成笔记(九)—RTC
|
缓存 Java
修改缓存供应商--EhCache
修改缓存供应商--EhCache
|
vr&ar
visionOS空间计算实战开发教程Day 10 照片墙
本例选择了《天空之城》的25张照片,组成5x5的照片墙)。首先我们在setupContentEntity方法中构建了一个纹理数组,将这25张照片添加到数组images中。其中封装了setup方法,借助于visionOS对沉浸式空间的支持,我们创建了三个平面,组成具有立体感的照片墙。
301 1
|
安全 网络安全 PHP
ChatGPT:你真的了解网络安全吗?浅谈攻击防御进行时之传统的网络安全
ChatGPT:你真的了解网络安全吗?浅谈攻击防御进行时之传统的网络安全
488 0
|
Web App开发 Shell Linux
CATCTF_Misc
CATCTF_Misc
323 0
|
人工智能
升序排列的数组中是否存在A[i]=i
#include void equal(int a[],int N) { int i; for(i=0;i
816 0
|
Java 应用服务中间件 Windows
windows下tomcat输出日志
把控制台的信息输出到%CATALINA_BASE%/logs/catalina.out里:一、修改startup.bat中call "%EXECUTABLE%" start %CMD_LINE_ARGS%为call "%EXECUTABLE%" run %CMD_LINE_ARGS%二、修改catalina.
1070 0