題目一:輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。句子中單詞以空格符隔開。為簡單起見,標點符號和普通字母一樣處理。例如輸入「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...