[LeetCode]151 翻转字符串里的单词

题目描述

给定一个字符串,逐个翻转字符串中的每个单词。

示例

输入: "the sky is blue",
输出: "blue is sky the".

说明:

  • 无空格字符构成一个单词。
  • 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。
  • 如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。

思路

  • 去掉字符串首尾的所有空格
  • 按任意连续的空格划分字符串,得到列表s
  • 翻转列表s后用一个空格把列表s连接成字符串

代码

1
2
3
4
5
6
7
8
9
10
11
class Solution(object):
def reverseWords(self, s):
"""
:type s: str
:rtype: str
"""
s = s.strip()
s = s.split()
s.reverse()
s = ' '.join(s)
return s