全部內容來自《劍指offer》。
題目一:
輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。為簡單起見,標點符號和普通字元一樣處理。例如輸入字串「i am a student.」,則輸出
「student. a am i」。
answer:
void reverse(char *pbegin, char *pend)}char* reversesentence(char *pdate)
else
if (*pend == '
' || *pend == '\0'
)
else
pend++;
}return
pdate;
}
題目二:
字串的左旋轉操作是把字串前面的若干個字元轉移到字串的尾部。請定義乙個函式實現字串左旋轉操作的功能。比如輸入字串「abcdefg」和數字2,該函式將返回左旋轉2位得到的結果「cdefgab」。
answer:
char* leftrotatestring(char *pstr, intn) }
return
pstr;
}
leetcode上也有對應的題目
翻轉單詞順序 VS 左旋轉字串
題目1 輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變,標點符號和普通字母一樣處理。例如輸入 i am a student.則輸出 student.a am i 方法 第一步翻轉句子中所有的字元,第二步翻轉每個單詞中字元的順序。void reverse char pbegin,cha...
演算法題目 翻轉單詞順序 VS 左旋轉字串
輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。include include include using namespace std void reverse char pbegin,char pend char reversesentence char pdata else if...
翻轉單詞順序和左旋轉字串
輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。為簡單起見,標點符號和普通字母一樣處理。例如輸入字串 i am a student.則輸出 student.a am i include using namespace std void reverse char p1,char p2 ...