所以,我正在解决一个 Leetcode 问题,给定一个字符串,我必须反转其中的所有单词并返回反转的短语。以下是问题陈述
给定一个输入字符串 s,反转单词的顺序。
单词被定义为非空格字符的序列。s 中的单词将至少由一个空格分隔。
返回由单个空格按相反顺序连接的单词字符串。
请注意,s 可能在两个单词之间包含前导或尾随空格或多个空格。返回的字符串应该只有一个空格来分隔单词。请勿包含任何额外空格。**
例子 :
输入:s =“天空是蓝色的”
输出:“蓝色是天空”
但我得到的输出如下blueisskythe。我确实尝试在 .join() 之前添加空格,但我没有得到我想要的输出。下面是我的代码
这是我写的代码:
class Solution(object):
def reverseWords(self,str1):
ss = str1.split(' ')
final_str = ""
for i in range(len(ss)-1,-1,-1):
final_str += "".join(ss[i])
return final_str
if __name__ == '__main__':
str = "the sky is blue"
print(Solution().reverseWords(str))
接近你可能喜欢的:
我对你的代码的建议:
str
,因为它可能会导致混乱和意外行为。final_str += "".join(ss[i]
) 考虑使用列表来存储反转的单词,然后将它们连接起来。str1
,它更常见于变量和函数名称。snake_case
相反reverseWords
,您可以考虑替换为reverse_words
@staticmethod
对于当前上下文,使用是@staticmethod
合适的,因为“reverseWords”方法不依赖于任何特定于实例的实例attributes
或methods
类。或者,如果将来有潜在的需要,您可以创建reverse_words
一个类方法 ( )。@classmethod
结论: 我的建议
not
绝对正确,但建议最好遵循practices
编写干净、健壮、可重用的pythonic
代码库。祝你有美好的一天!