题目描述
Given an input string, reverse the string word by word.
For example,
Given s = "the sky is blue
",
return "blue is sky the
".
- What constitutes a word?
A sequence of non-space characters constitutes a word. - Could the input string contain leading or trailing spaces?
Yes. However, your reversed string should not contain leading or trailing spaces. - How about multiple spaces between two words?
Reduce them to a single space in the reversed string.
思路
利用split函数对string进行分割,用list模拟stack,将words存入ans字符串中。容易出错的地方是题目要求不能有首尾的空格,可以在最后使用strip函数进行清除。
代码
class Solution:
# @param s, a string
# @return a string
def reverseWords(self, s):
stack = s.split(None, -1)
ans = ""
while(stack):
ans+=stack.pop()
ans+=" "
return ans.strip()