📅  最后修改于: 2023-12-03 15:36:22.642000             🧑  作者: Mango
对于一个给定的字符串,我们需要以相反的顺序打印出其中的单词。
我们可以先将字符串按照空格切分成若干个单词,然后再将这些单词按照相反的顺序拼接起来。
例如,对于字符串 "hello world",我们可以按照空格将其切分成两个单词,即 "hello" 和 "world",然后将它们拼接起来,得到 "world hello",即为以相反的顺序打印出字符串的单词。
具体实现上,我们可以使用一个栈来保存切分出的每一个单词,然后再将栈中的元素依次出栈并拼接起来即可。
def reverse_words(s: str) -> str:
"""
以相反的顺序打印字符串的单词
:param s: 原始字符串
:return: 以相反的顺序打印出字符串的单词
"""
# 将字符串按照空格切分成若干个单词
words = s.split()
# 使用一个栈保存切分出的每一个单词
stack = []
for word in words:
stack.append(word)
# 将栈中的元素依次出栈并拼接起来
result = ""
while stack:
result += stack.pop()
result += " "
return result.strip()