원하는 문자열 조작 절차 : 문자의 연속 인스턴스가 두 개 이상있는 경우 첫 번째 문자 만 유지하십시오. "Steelsmith"가 주어지면 "Stelsmith"라는 문자열을 남기고 첫 번째 "e"를 삭제하십시오.문자열의 경우 반복되는 문자는 어떻게 제거합니까?
여기 내 algorithim입니다 :
void replace(string s)
{
int length = s.length();
for (int i = 0; i < length; i ++)
{
if (s[i] == s[i + 1])
{
s.erase(1+i);
}
}
cout << s << endl;
}
I 입력 "Steelsmith는"출력은 "인트는"이므로 문자열의 나머지와 함께 두 번째 'E'를 삭제
. 나머지 문자열은 어떻게 유지합니까?
감사합니다 사람, 나는 그것을 감사
string& erase (size_t pos = 0, size_t len = npos);
인수는 위치와 길이있다! – user3598181
방금 테스트 한 결과 Stelsmith가 출력되었습니다. – user3598181
@ user3598181 괜찮습니다! 내 대답을 수락하는 것을 잊지 마라. 그러면 다른 사람들도 도울 수있다. – phantom