您的位置:首页 > 理论基础 > 数据结构算法

微软等数据结构+算法面试100题(29)--在字符串中删除特定的字符

2012-11-11 20:22 471 查看
题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。

例如,输入”They are students.”和”aeiou”, 则删除之后的第一个字符串变成”Thy r stdnts.”。


/*
63.在字符串中删除特定的字符。
题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。
例如,输入”They are students.”和”aeiou”, 则删除之后的第一个字符串变成”Thy r stdnts.”。
*/
void RemoveChars(char* str,char* substr)
{
int tmp[256];
memset(tmp,0,sizeof(tmp));
for(int i=0;substr[i]!='\0';i++)
tmp[substr[i]]++;
int slow=0,fast=0;
int len=strlen(str);
while(fast<=len)
{
if(tmp[str[fast]]>0)
fast++;
else
{
str[slow]=str[fast];
slow++;
fast++;
}
}
}

void RemoveCharsTest()
{
char str[]="They are students.";
char substr[]="aeiou";
cout<<"str : "<<str<<endl;
cout<<"substr : "<<substr<<endl;
RemoveChars(str,substr);
cout<<"delete chars in substr , after delete str : "<<str<<endl;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐