面試題42 翻轉單詞順序VS左旋轉字串

2021-07-02 03:33:19 字數 706 閱讀 3754

題目一:輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。句子中單詞以空格符隔開。為簡單起見,標點符號和普通字母一樣處理。例如輸入「i am a student.」,則輸出「student. a am i」。

演算法思路:首先將整個字串翻轉得到.tneduts a ma i,然後根據空格將每個單詞反轉得到student. a am i

#include using namespace std;

void reverse(char * pbegin,char * pend)

char * pfirststart=str;//起始位置

char * pfirstend=str+n-1;//第n位

char * psecondstart=str+n;//n+1位

char * psecondend=str+length-1;//結束位置

//前n位先進行反轉

reverse(pfirststart,pfirstend);

//對n後面的部分進行反轉

reverse(psecondstart,psecondend);

//整個字串進行反轉

reverse(pfirststart,psecondend);

}int main()

{ char str="abcdefg";

leftrotatestring(str,2,7);

cout<

面試題42 翻轉單詞順序

題目 牛客最近來了乙個新員工fish,每天早晨總是會拿著一本英文雜誌,寫些句子在本子上。同事cat對fish寫的內容頗感興趣,有一天他向fish借來翻看,但卻讀不懂它的意思。例如,student.a am i 後來才意識到,這傢伙原來把句子單詞的順序翻轉了,正確的句子應該是 i am a stude...

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

題目 輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。為簡單起見,標點符號和普通字母一樣處理。例如輸入字串 i am a student.則輸出 student.a am i 思路1 兩次翻轉字串 從頭到尾,先翻轉字串中的每個單詞,再翻轉整個字串 思路2 雙指標,記錄單詞表 c 思路...

面試題58 I 翻轉單詞順序

題目描述 輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。為簡單起見,標點符號和普通字母一樣處理。例如輸入字串 i am a student.則輸出 student.a am i 示例 1 輸入 the sky is blue 輸出 blue is sky the 示例 2 輸入 h...