代码改变世界

翻转字符串

2017-08-06 23:16  1500802028  阅读(174)  评论(0编辑  收藏  举报

题目:给定一个字符串,逐个翻转字符串中的每个单词

说明

  • 单词的构成:无空格字母构成一个单词
  • 输入字符串是否包括前导或者尾随空格?可以包括,但是反转后的字符不能包括
  • 如何处理两个单词间的多个空格?在反转字符串中间空格减少到只含一个

 

代码:

class Solution {
public:
/**
* @param s : A string
* @return : A string
*/
string reverseWords(string s) {
// write your code here
stringstream in;
stringstream out;
in << s;
char str[101][101];
char tempStr[1001];
in.getline(tempStr, 1001);
int num = 0;
char *t = NULL;
for (t = strtok(tempStr, " "); t != NULL; t = strtok(NULL, " ")) {
strcpy(str[num++], t);
}
for (int i = num - 1; i >= 0; i--) {
out << str[i] << " ";
}
return out.str();
}
};

截图: