法一:两次翻转。

alt

join用法记录:

语法:str.join(sequence)

参数:str---用来连接的字符;sequence---要连接的元素序列,常用的是列表或者元组

例子: a=['who', 'am','I']

','.join(a)

结果返回一个字符串:'who,am,I'

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param str string字符串 
# @return string字符串
#
class Solution:
    def ReverseSentence(self , str: str) -> str:
        str=str[::-1] #整个句子反转
        s=str.split(' ')#以空格分隔str成列表
        for i in range(len(s)):
            s[i]=s[i][::-1]#逐个单词反转
        str=' '.join(s)
        return str

法二:栈用法

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param str string字符串 
# @return string字符串
#
class Solution:
    def ReverseSentence(self , str: str) -> str:
        s=str.split(' ')#以空格分隔str成列表。s作为栈,已全部入栈
        res=[]#存放出栈后的字符串
        for i in range(len(s)):
            res.append(s.pop())
        return ' '.join(res)