01/10/2018, 17:08
Thuật toán xoá ký tự lặp lại trong xâu bị sai
#include <iostream>
#include <string>
using namespace std;
void chuanhoa(string &s)
{
for(int i=0;i<s.size();i++)
{
if('A' <= s.at(i) <= 'Z')
{
s.at(i) = tolower(s.at(i));
}
}
}
void res(string &s)
{
if(s.size() < 1 ) return;
for(int i=0;i<s.size()-1;i++)
{
for(int j=i+1;j<s.size();)
{
if(s.at(i) == s.at(j))
{
s.erase(j);
continue;
}
break;
}
}
return;
}
int main()
{
string s = "hhhhoc hhhannnnh";
//getline(cin, s);
chuanhoa(s);
res(s);
cout << s;
}
out: h
mình mò mãi mà nó k biết sai đâu nữa
Bài liên quan
Cuối cùng là sai thế nào?
quên mất: đề là xóa ký tự repeated, vd: hddddd abbbb -> hd ab
sau một thời gian ức chế thì mình đã fix được:frowning:
Chỉ thêm s.erase(j,1);