频道栏目
首页 > 资讯 > 其他 > 正文

SDUT“编程开发”

17-11-14        来源:[db:作者]  
收藏   我要投稿

其实这个题不该花费这么长时间的,因为这个题就是一个强行组合,前面已经写过了的!!!自己实在是太大意,对细节处的把握不好!

代码:

#include
using namespace std;
typedef struct node
{
    char data;
    struct node *lchild;
    struct node *rchild;
}btnode;
char shuru[55];
int sum;
int cnt;
void juqianxujianshu(btnode *&root)
{
    char ch=shuru[cnt];
    cnt++;
    if(ch==',')
        root=NULL;
    else
    {
        root=new btnode;
        root->data=ch;
        juqianxujianshu(root->lchild);
        juqianxujianshu(root->rchild);
    }
}
///这个是在网上学到的
//int yezi(btnode *p)
//{
//    if(p==NULL)
//        return 0;
//    if(p->lchild==NULL&&p->rchild==NULL)
//        return 1;
//    return yezi(p->lchild)+yezi(p->rchild);
//}
///这个很low的是自己想的
void yezi(btnode *p)
{
    if(p!=NULL)
    {
        if(p->lchild==NULL&&p->rchild==NULL)
            sum++;
        yezi(p->lchild);
        yezi(p->rchild);
    }
}
int main()
{
    ///刚开始WA了三发就是因为这里,sum重新赋值为零放错了地方!
    //sum=0;
    while(cin>>shuru)
    {
        sum=0;
        cnt=0;
        btnode *root;
        juqianxujianshu(root);
        yezi(root);
        cout<<>

 

 

相关TAG标签
上一篇:Python基础之使用list和tuple
下一篇:零基础如何快速的学习和掌握html5?
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站