题解 | #翻转单词序列#
翻转单词序列
https://www.nowcoder.com/practice/3194a4f4cf814f63919d0790578d51f3?tpId=265&rp=1&ru=%2Fexam%2Foj%2Fta&qru=%2Fexam%2Foj%2Fta&sourceUrl=%2Fexam%2Foj%2Fta%3FjudgeStatus%3D3%26page%3D1%26pageSize%3D50%26search%3D%26tpId%3D13%26type%3D265&difficulty=&judgeStatus=3&tags=&title=&gioEnter=menu
常规实现,不用库函数
class Solution {
public:
string ReverseSentence(string str) {
if (str.empty()) {
return str;
}
int left = 0, right = 0;
reverse_str(str, 0, str.size() - 1);
while (right < str.size()) {
while (right < str.size() && str[right] != ' ') {
++right;
}
reverse_str(str, left, right - 1);
left = ++right;
}
return str;
}
private:
void reverse_str(std::string &str, int left, int right) {
if (str.empty()) {
return ;
}
while (left < right) {
char tmp = str[left];
str[left] = str[right];
str[right] = tmp;
++left, --right;
}
}
};
科大讯飞公司氛围 469人发布
查看15道真题和解析