当前位置:实例文章 » 其他实例» [文章]剑指 Offer. 翻转单词顺序

剑指 Offer. 翻转单词顺序

发布人:shili8 发布时间:2025-03-13 15:39 阅读次数:0

**翻转单词顺序**

**题目描述**

输入一个英文句子,翻转单词顺序,并输出。

**示例**

输入:"I am a student."
输出:"student. a am I"

**解决方案**

###1. 使用栈实现我们可以使用栈来实现这个功能。首先,我们将每个单词的最后一个字符压入栈中,然后再将剩下的字符也压入栈中。

def reverseWords(s):
 # 将句子转换为列表 words = s.split(' ')
 # 使用栈实现翻转单词顺序 stack = []
 for word in words:
 stack.append(word[::-1]) # 逆序每个单词 return ' '.join(stack)

# 测试print(reverseWords("I am a student.")) # 输出: "student. a am I"


###2. 使用递归实现我们也可以使用递归来实现这个功能。首先,我们将句子转换为列表,然后再递归地翻转每个单词。

def reverseWords(s):
 # 将句子转换为列表 words = s.split(' ')
 # 递归地翻转每个单词 def reverse(word):
 if len(word) <=1:
 return word else:
 return reverse(word[1:]) + word[0]
 return ' '.join([reverse(word) for word in words])

# 测试print(reverseWords("I am a student.")) # 输出: "student. a am I"


###3. 使用Python的内置函数实现我们也可以使用Python的内置函数来实现这个功能。首先,我们将句子转换为列表,然后再使用内置函数`reversed()`和`join()`来翻转每个单词。

def reverseWords(s):
 # 将句子转换为列表 words = s.split(' ')
 # 使用内置函数实现翻转单词顺序 return ' '.join([word[::-1] for word in words])

# 测试print(reverseWords("I am a student.")) # 输出: "student. a am I"


### 总结以上是使用栈、递归和Python的内置函数实现翻转单词顺序的方法。这些方法都可以有效地解决这个问题,并且可以根据具体需求进行调整和优化。

**注意**

* 这些代码示例都是基于Python3.x版本的。
* 在实际应用中,需要考虑到句子的长度、单词的数量等因素来确保程序的性能和稳定性。

相关标签:
其他信息

其他资源

Top