Então, estou resolvendo uma questão do Leetcode em que recebo uma string e preciso reverter todas as palavras dela e retornar a frase invertida. Abaixo está a declaração do problema
Dada uma string de entrada s, inverta a ordem das palavras.
Uma palavra é definida como uma sequência de caracteres sem espaço. As palavras em s serão separadas por pelo menos um espaço.
Retorna uma sequência de palavras em ordem inversa concatenada por um único espaço.
Observe que s pode conter espaços à esquerda ou à direita ou vários espaços entre duas palavras. A string retornada deve ter apenas um espaço separando as palavras. Não inclua espaços extras.**
Exemplo :
Entrada: s = "o céu é azul"
Resultado: "azul é o céu"
Mas a saída que estou obtendo é a seguinte blueisskythe . Tentei adicionar espaço antes de .join() mas não estou obtendo o resultado que desejo. Abaixo está meu código
Este é o código que escrevi:
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))
Aborde o que você pode gostar:
Minha sugestão para o seu código:
str
, pois isso pode causar confusão e comportamento inesperado.final_str += "".join(ss[i]
) Considere usar uma lista para armazenar as palavras invertidas e depois juntá-las.str1
) e assinatura de método E é mais comum de usarsnake_case
para nomes de variáveis e funções em Python. Em vez dereverseWords
, você pode considerar a substituição porreverse_words
@staticmethod
Para o contexto atual, usar@staticmethod
é apropriado porque o método 'reverseWords' não depende de nenhuma instância específicaattributes
oumethods
da classe. Alternativamente, você pode criarreverse_words
um método de classe (@classmethod
) se houver uma necessidade futura em potencial.Conclusão: Minha sugestão é
not
absolutamente verdadeira, mas é aconselhável seguir o melhor caminhopractices
para escreverpythonic
uma base de código limpa, robusta e reutilizável.Tenha um ótimo dia!