https://leetcode.com/problems/reverse-words-in-a-string/description/
Given an input string, reverse the string word by word.
Example:
Input: "the sky is blue
", Output: "blue is sky the
".
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.
Follow up: For C programmers, try to solve it in-place in O(1) space.
class Solution(object):
def reverseWords(self, s):
"""
:type s: str
:rtype: str
"""
s = s.strip()
if len(s) == 0:
return ''
tmp = [i.strip() for i in s.split(" ")]
res = []
for i in range(len(tmp) - 1, -1, -1):
if len(tmp[i]) > 0:
res.append(tmp[i])
return ' '.join(res)