倒置字符串,我爱中国,中国爱我。
描述:将一句话的单词进行倒置,标点不倒置。比如 I like China. 经过函数后变为:China. like I
有些时候,主语和宾语位置互换词义不会改变。比如,一件衣服穿两天,两天穿一件衣服。北京是首都,首都是北京。如果你已经读完了这段话,恭喜你已经浪费了几秒钟,这和这道编程题没什么关系……
思路:我们可以两次使用字符串逆序,第一次先将字符串整体逆序,第二次将单个单词再逆序。逆序字符串,无非是找到字符串的起始位置和结束位置,也就是左下标和右下标,当左下标地址小于右下标地址时,互换两个下标位置的字符串。关键在于寻找起始位置和结束位置,例如字符串arr,第一次字符串整体逆序,起始位置就是字符串的首地址arr,结束位置就是起始位置+字符串长度-1
.第二次逆序每个单词,起始位置就是每个单词的起始位置,结束位置是空格或字符串0的前一位置。逆序每个单词要注意何时进行逆序,遍历整个字符串,当arr[i]的元素为空格或字符串0时,进行单词的逆序。
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 胖虎同学!
评论