單詞翻轉
輸入一個英文句子,翻轉句子中單詞的順序,要求單詞內字符的順序不變,句子中單詞以空格隔開,爲簡單起見,標點符號和普通字母一樣處理。例如:輸入“I am a student.”則輸出:“student. a am I”。
思路:三步反轉法:先將每個單詞分成獨立的幾部分,然後分別對它們進行翻轉,返回將整個字符串進行翻轉。
bool revelWord(char *str)
{
if (str == nullptr)
{
return false;
}
long length = strlen(str);
revelString(str); //這個方法在 反轉字符串那篇文章裏面有實現
int preIndex = 0;
for (int i = 0; i < length; i++)
{
char t = *(str + i);
if (t == ' ' )
{
revelString(str, preIndex, i - 1);
preIndex = i;
}
}
return true;
}