这道题很简单的字符串题。
思路:这里用到了我前一段时间用的一个类型函数:stringstream。这里大家可以了解一下,叫做字符串流,它的一个特点就是可以分割字符串,也就是hello world中分为hello和world两个单词。
这里在大小写的转换当中,我们可以用C++中的tolower()和toupper()来实现这种操作,大家不了解的可以查一下用法,很方便,那么就上代码:
class Solution {
public:
string capitalizeTitle(string title) {
string res;
stringstream ss(title);
string buf;
while(ss>>buf){
if(buf.size()<=2){
for(int i=0;i<buf.size();i++){
buf[i]=tolower(buf[i]);
}
res+=buf;
res+=" ";
}
else{
for(int i=1;i<buf.size();i++)
buf[i]=tolower(buf[i]);
buf[0]=toupper(buf[0]);
res+=buf;
res+=" ";
}
}
int n=res.size();
res.resize(n-1);
return res;
}
};