NowCoder | KY11 二叉树遍历

NowCoder | KY11 二叉树遍历

OJ链接

  • 简单来说就是构建这个二叉树
  • 定义结构体
  • 通过递归方式根据输入的字符串构建二叉树。对于输入字符串中的每个字符,如果是 '#' 表示空节点,否则创建一个新节点,并递归地构建左右子树。
c 复制代码
#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;
}
相关推荐
一只齐刘海的猫3 分钟前
【Leetcode】 接雨水
java·算法·leetcode
南境十里·墨染春水20 分钟前
讲讲移动语义
算法
西凉的悲伤28 分钟前
Guava类库——Range连续区间
java·算法·guava
菜菜的顾清寒29 分钟前
力扣HOT(100)54多维动态规划-最长公共子序列
算法·leetcode·动态规划
随意起个昵称34 分钟前
线性dp-LIS题目3(合唱队形)
算法
小六学编程39 分钟前
二分查找详解:从普通二分到左右边界
算法·c/c++
wayz1139 分钟前
Volume:PVO(百分比成交量震荡指标)技术指标详解
算法·金融·数据分析·量化交易·特征工程
毕竟是shy哥40 分钟前
PromptHash:基于亲和提示协同学习的自适应哈希检索跨模态算法
学习·算法·哈希算法
甄心爱学习41 分钟前
【项目实训(个人12)】
人工智能·python·算法
团象科技1 小时前
走访近百支出海技术团队后的海外云计算资源选型实操观察
大数据·人工智能·算法