牛客最近來了乙個新員工fish,每天早晨總是會拿著一本英文雜誌,寫些句子在本子上。同事cat對fish寫的內容頗感興趣,有一天他向fish借來翻看,但卻讀不懂它的意思。例如,「student. a am i」。後來才意識到,這傢伙原來把句子單詞的順序翻轉了,正確的句子應該是「i am a student.」。cat對一一的翻轉這些單詞順序可不在行,你能幫助他麼?
先對整個句子進行翻轉。再對每個單子進行翻轉。
時間複雜度o(n),空間複雜度o(1)。
class solution
else if(str[j] == ' ' || j == str.length())
else
j++;
}return str;
}void reverse(string &s, int begin, int end)
}};
class solution
reverse(s.begin(), s.end());
int i=0, j=0;
while(j < s.length())
while(s[j]!=' ' && j < s.length())
reverse(s.begin()+i, s.begin()+j);
i = j;
}return s;
}};
劍指 面試題58 1 翻轉單詞順序
題目 輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。為簡單起見,標點符號和普通字母一樣處理。例如輸入字串 i am a student.則輸出 student.a am i 思路1 兩次翻轉字串 從頭到尾,先翻轉字串中的每個單詞,再翻轉整個字串 思路2 雙指標,記錄單詞表 c 思路...
劍指Offer系列58 1 翻轉單詞順序
輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。為簡單起見,標點符號和普通字母一樣處理。例如輸入字串 i am a student.則輸出 student.a am i 示例 1 輸入 the sky is blue 輸出 blue is sky the 示例 2 輸入 hello ...
《劍指offer》面試題42 翻轉單詞順序列
牛客最近來了乙個新員工fish,每天早晨總是會拿著一本英文雜誌,寫些句子在本子上。同事cat對fish寫的內容頗感興趣,有一天他向fish借來翻看,但卻讀不懂它的意思。例如,student.a am i 後來才意識到,這傢伙原來把句子單詞的順序翻轉了,正確的句子應該是 i am a student....