📅  最后修改于: 2023-12-03 15:12:39.851000             🧑  作者: Mango
本题是Gate-CS-2002的第50题,要求编写一个程序,实现将一个字符串中的所有单词颠倒过来。
输入: "hello world"
输出: "world hello"
本题可以采用双指针的方法,从字符串的两端开始遍历,交换两个指针指向的字符,直到两个指针相遇。
首先需要对输入的字符串进行分割,将字符串拆分成单个的单词。可以通过空格
将字符串分隔成一个字符串数组,每个元素即为一个单词。
然后将每个单词颠倒过来,即可得到最终的结果。
def reverse_words(s: str) -> str:
# 将字符串以空格分隔成单词
words = s.split()
# 对于每个单词,颠倒字符顺序
for i in range(len(words)):
words[i] = words[i][::-1]
# 将颠倒后的单词数组以空格连接成字符串
result = ' '.join(words)
return result
本题考察了字符串的分割和翻转操作,同时需要熟悉用双指针实现字符串的遍历交换。对于Python这种高级语言,操作字符串非常方便,需要了解对应的API即可。