天天看點

【算法】翻轉單詞順序列

牛客最近來了一個新員工Fish,每天早晨總是會拿着一本英文雜志,寫些句子在本子上。同僚Cat對Fish寫的内容頗感興趣,有一天他向Fish借來翻看,但卻讀不懂它的意思。例如,“student. a am I”。後來才意識到,這家夥原來把句子單詞的順序翻轉了,正确的句子應該是“I am a student.”。Cat對一一的翻轉這些單詞順序可不在行,你能幫助他麼?

拿到題目的第一想法就是,一次一次地把所有字元都向左移動一位,直到移動都完成。

第二想法就是,把所有字元都左右翻轉一遍,再把裡面的每個單詞都左右翻轉一遍。

這兩個想法再次證明了,太繁瑣的算法肯定不是最優解。

繼續閱讀