leetcode:151. reverse words in a string

题目概述

Given an input string, reverse the string word by word.

Example 1:

1
2
Input: "the sky is blue"
Output: "blue is sky the"

Example 2:

1
2
3
Input: "  hello world!  "
Output: "world! hello"
Explanation: Your reversed string should not contain leading or trailing spaces.

Example 3:

1
2
3
Input: "a good   example"
Output: "example good a"
Explanation: You need to reduce multiple spaces between two words to a single space in the reversed string.

Note:

  • A word is defined as a sequence of non-space characters.
  • Input string may contain leading or trailing spaces. However, your reversed string should not contain leading or trailing spaces.
  • You need to reduce multiple spaces between two words to a single space in the reversed string.

本题用python实现的话其实挺简单的,直接用strip和split方法就可以

代码实现

1
2
3
4
5
6
7
8
9
10
11
class :
def reverseWords(self, s: str) -> str:
s = s.strip()
s_list = s.split(" ")
result = ""
for i in range(len(s_list)-1, -1, -1):
if s_list[i] == "":
continue
result += " "+s_list[i]

return result[1:]