博主提供的算法1时间复杂度太高,算法2空间复杂度太高。
我写了一个简单的累计'A'值并覆盖的算法,时间和空间复杂度都很低。
Deal3(char *str)
{
int len = strlen(str);
if (str[len-1] != '0')
return; //如果最后一个字符不为'0'

int k = 0;
for (int i=0; i<len; i++)
{
if (str[i] == 'A') //累计'A'的个数
k++;
else //覆盖'A'
str[i-k] = str[i];
}

for (int i=0; i<k; i++)
str[len-1-i] = 'A';
}
可不可以把源码传给我看一下,谢谢!
我的邮箱:goal00001111@gmail.com
re: 爱因斯坦的思考题 梦想飞扬 2006-12-08 22:45
呵呵,我开始确实大意了
但如果第一次碰到合适的答案就输出的话,也可以找到一个答案的.
为了不误人子弟,代码我已经改过来了.