Python的坑:
Python中倒序遍历数列的方法:
for i in range(len(s)-1,-1,-1)
比如(4,-1,-1)是从4开始向前,到-1前截止。得到结果为4,3,2,1,0五个数。
python中字符串是不可变的
不能像C++那样改动。因此只能用传统办法了。
- 代码中,先构造一个能反转字符串的函数
- 对于一个句子,先整体反转,然后用split把得到每个被反转的单词
- 然后对每个单词进行反转
代码实现:
# -*- coding:utf-8 -*-
class Solution:
def ReverseStr(self,s):
s_new = ''
for i in range(len(s) - 1, -1, -1):
# print(i)
s_new += s[i]
return s_new
def ReverseSentence(self, s):
if len(s) <= 1:
return s
s_all = self.ReverseStr(s)
s_all_list = s_all.split()
s_all_new = []
for str in s_all_list:
str_new = self.ReverseStr(str)
s_all_new.append(str_new)
result = ' '.join(s_all_new)
return result
上题思路跟上面代码思路一致。