思路:采用字符串流实现对字符串进行切割,切分成一个一个的单词,通过重新拼接答案即可
stringstream :字符串流,把一个一个的单词重新输入进来
class Solution {
public:
string reorderSpaces(string text)
{
vector<string>vec;
string ans,word;
stringstream in(text); //字符流
int len=0;
while(in>>word)
{
vec.push_back(word);
len+=word.size();
}
//构建ans
if(vec.size()==1)
{
ans=vec[0];
}
else
{
//计算应该插入的空格数量
string space((text.size()-len)/(vec.size()-1),' ');
for(int i=0;i<vec.size()-1;i++)
{
ans+=vec[i]+space;
}
ans+=vec.back();
}
return ans+string(text.size()-ans.size(),' ');
}
};