真是不爽。。特么水的不能再水的题,g++一直超内存,c++a了
超内存,c++就ac了。。。
#include <iostream>
#include<stdio.h>
#include<cstring>
using namespace std;
char str[11];
struct Trie
{
Trie *child[26];
int num;
Trie()
{
num=0;
memset(child,NULL,sizeof(child));
}
};
Trie *root;
void Tree_Insert(char *str)
{
Trie *s=root;
int i=0;
while(str[i]!='\0')
{
int id=str[i]-'a';
if(s->child[id]==0)
s->child[id]= new Trie();
s=s->child[id];
s->num++;
i++;
}
}
int Tree_Find(char *str)
{
Trie *s=root;
int i=0;
while(str[i]!='\0')
{
int id=str[i]-'a';
if(s->child[id]==0)
return 0;
else
s=s->child[id];
i++;
}
return s->num;
}
int main()
{
int i,j;
root=new Trie();
while(gets(str)&&str[0]!='\0')
Tree_Insert(str);
while(scanf("%s",str)!=EOF)
printf("%d\n",Tree_Find(str));
return 0;
}
超内存,c++就ac了。。。
本文探讨了一段使用C++实现的字典树(Trie)代码在处理输入时出现超内存错误的问题,并提供了解决方案。通过分析代码,发现字符串输入处理过程中可能导致内存泄露的原因,并给出了解决该问题的方法。
2万+

被折叠的 条评论
为什么被折叠?



