單詞翻轉 --旋轉字符串的一種擴展

單詞翻轉

輸入一個英文句子,翻轉句子中單詞的順序,要求單詞內字符的順序不變,句子中單詞以空格隔開,爲簡單起見,標點符號和普通字母一樣處理。例如:輸入“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;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章