2011-12-24 409 views

回答

8
str.erase(
    std::unique(str.begin(), str.end()), 
    str.end()); 

這將工作的不僅僅是空間更多,但。例如,字符串「aaabbbccccdd」將變成「abcd」。那是你要的嗎?如果你只是想減少的空間,以一個空間,你可以通過一個二元謂詞作爲第三個參數std::unique,像這樣的:

bool BothAreSpaces(char lhs, char rhs) 
{ 
    return (lhs == ' ') && (rhs == ' '); 
} 
+0

優秀的標準算法使用! – 2011-12-24 16:11:18

+0

謝謝,我完全忘了std :: unique – 2011-12-24 16:16:07

相關問題