#include<stdio.h>
int main()
{
char ch[100],*p;
scanf("%s",ch);
p=ch;
for(int i=0;i<100;i++)
{
if(ch[i]>=48&&ch[i]<=57)
{
for(int j=100;j>i;j--)
{
ch[j]=ch[j-1];
}
ch[i]='*';
i++;
}
}
printf("%s",ch);
printf("\n");
return 0;
}
时间复杂度为O(n*2),有没有改进的算法呢,
(1)利用队列扫描到数字先把*进入队列再将数字进入,时间复杂度还是O(n*2),但是节省了空间,同理还可以使用stack
(2)利用字符串自带的函数,攒的拷贝等