劍指offer 面試題58 1 翻轉單詞順序列

2021-09-13 18:37:01 字數 762 閱讀 2984

牛客最近來了乙個新員工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....