前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据结构实验之二叉树八:(中序后序)求二叉树的深度(SDUT 2804)

数据结构实验之二叉树八:(中序后序)求二叉树的深度(SDUT 2804)

作者头像
Lokinli
发布2023-03-09 17:10:12
1520
发布2023-03-09 17:10:12
举报
文章被收录于专栏:以终为始以终为始
代码语言:javascript
复制
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct node
{
    char data ;
    struct node *l,*r;
};
struct node *creat(char *inorder,char *postorder,int len)
{
    struct node *root;
    if (len <= 0)
        return NULL;
    int i = 0;
    root = (struct node *)malloc(sizeof (struct node ));
    root -> data = *(postorder + len -1);
    for (i = 0; i < len; i ++)
    {
        if (inorder[i] == *(postorder + len - 1))
            break;
    }
    root -> l = creat(inorder, postorder, i);
    root -> r = creat(inorder + i + 1,postorder + i,len - i - 1);
    return root;
}
int fin(struct node*root)
{
    int h=0;
    int d1,d2;
    if (root)
    {
        d1 = fin(root -> l);
        d2 = fin(root -> r);
        h = d1>d2?d1+1:d2 + 1;
    }
    return h;
}

int main ()
{
    int t,len;
    char inorder[100],postder[100];
    struct node *tree;
    while (~scanf ("%d",&t))
    {
        while (t--)
        {
            scanf ("%s%s",inorder,postder);
            len =strlen (postder);
            tree=creat(inorder,postder,len);
            int h = fin(tree);
            printf ("%d\n",h);
        }
    }
    return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-11-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档