由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - Reverse Words in a String 有只扫一遍的inplace的做法吗?
相关主题
reverse words in a stringword ladder能只用一个queue搞定吗?
Reverse Words in a StringreverseWord有啥边界情况需要考虑?
lc 上面4 sum的时间复杂度要求多少?问一题:merge两个有序数组
这个题目怎么做问个题
经典题reverse words in a string[合集] 微软面试题一道
面到reverse words in stringinterview Qs collection
reverse words 中包含标点符号 “, 。 ! ?”怎么做问一道老题
问一个reverse int的问题问一个memory allocate/release的问题
相关话题的讨论汇总
话题: start话题: string话题: inplace话题: rs话题: len
进入JobHunting版参与讨论
1 (共1页)
a***e
发帖数: 413
1
终于有个不让我那么抓狂的题了,我的code如下,从后往前扫,两个指针,只扫一遍,
但不算inplace.
看到的其他inplace的好像要scan两遍,有只扫一遍的inplace的做法吗?
Given an input string, reverse the string word by word.
For example,
Given s = "the sky is blue",
return "blue is sky the".
class Solution {
public:
void reverseWords(string &s) {
int len=s.size();
if (len==0) return;

int start=len-1,end=len-1;
while(s[end]==' '&&s[start]==' ')
{
end--;
start--;
}
string rs;
while(start>=0)
{
while(s[start]!=' '&&start>=0)
start--;

rs+=s.substr(start+1,end-start);

while(s[start]==' ')
start--;

if (start<0)
break;

rs+=' ';
end=start;
}

s=rs;
}
};
1 (共1页)
进入JobHunting版参与讨论
相关主题
问一个memory allocate/release的问题经典题reverse words in a string
Leetcode OJ的编译器是?面到reverse words in string
今天就做了两道题reverse words 中包含标点符号 “, 。 ! ?”怎么做
求STRING COMPRESSION一题C++解法(CC150 1.5)问一个reverse int的问题
reverse words in a stringword ladder能只用一个queue搞定吗?
Reverse Words in a StringreverseWord有啥边界情况需要考虑?
lc 上面4 sum的时间复杂度要求多少?问一题:merge两个有序数组
这个题目怎么做问个题
相关话题的讨论汇总
话题: start话题: string话题: inplace话题: rs话题: len