您的位置:首页 > 其它

Cracking The Coding Interview 1.3

2014-04-01 16:28 281 查看
//原文:
//
//	Design an algorithm and write code to remove the duplicate characters in a string without using any additional buffer. NOTE: One or two additional variables are fine. An extra copy of the array is not.
//
//	FOLLOW UP
//
//	Write the test cases for this method.
//
//  循环遍历整个数组,一个索引值用来指向去除后的字符串,检查每个字符,如果前面存在,就设为‘\0’,否则迁移
#include <iostream>
using namespace std;
void duplicate(char *str)
{
if (str==NULL)
{
return;
}
int size = strlen(str);
int p = 0;
for (int i = 0 ; i < size ; i++)
{
bool isExist = false;
for (int j = 0 ; j < p ; j++)
{
if (str[j] == str[i])
{
isExist = true;
}
}
if (!isExist)
{
str[p]=str[i];
p++;
}
else
str[i]='\0';
}
str[p]='\0';

}
int main()
{
char s[]="whenssssss";
duplicate(s);
cout<<s<<endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: