所以,这是一个想法。
1) 初始字符串
"Hello World, how are you?"
2) 反转字符串,但不包括任何最终的特殊字符
"uoy era woh ,dlroW olleH?"
3) 反转字符串中的单词
"you are how ,World Hello?"
4)创建一个迭代器(指针,索引,无论你使用什么)到字符串的开头和结尾,递增/递减每个迭代器,直到它们碰到非单词。非单词是指空格或特殊字符。所以在这种情况下,递增的迭代器首先会遇到“you”和“are”之间的空白,而递减的迭代器会遇到“world”和“Hello”之间的空白,如下所示。
"you are how ,World Hello?"
^ ^
5)如果没有特殊字符,继续,如果你碰到一个特殊字符。反转迭代器之间的所有内容,包括它们指向的字符。下面显示了发生这种情况的时间
"you are how ,World Hello?"
^ ^
6) 现在我们看到了反转的结果。
"you are, woh World Hello?"
根据 johnchen902 的评论进行编辑
7) 现在在这些迭代器之间反转子字符串,不包括在步骤 (5) 中找到的特殊字符。
"you are, how World Hello?"
8)返回步骤(5)。
我还没有编码,解释起来有点棘手,但我希望你能理解