C++笔记——反转、string重新定义大小、去除单词多余空格
- 反转
- 重新定义大小
- 去除单词的多余空格
反转
头文件:#include
//模板:
reverse(s.begin(),s.end());
重新定义大小
头文件:#include<string.h>
s.resize(newSize);
去除单词的多余空格
去除string中的某个位置可用erase函数:
s.erase(s.begin()+i);
但erase函数的时间复杂度:O(n)
更好用的方法:快慢指针法:O(1)
int slow=0;
for(int i=0;i<s.size();i++){
if(s[i]!=' '){
if(slow!=0) s[slow]=' ';//手动添加单词间的空格
while(i<s.size() && s[i]!=' '){
s[slow++]=s[i++];
}
}
}