思路:先翻转所有字符,再根据空格来翻转每个单词。
解:1.写一个翻转函数
2.注意python 中字符串无法修改,要转为list,最后结果再转为str
3.遇到空格后要翻转单词,但注意翻转的下标,一不小心会把空格也翻转了。
4.左旋字符串也是一样的,只是分割不再用空格,而是根据数组下标来分割
def reverse(data):
if data is None:
return None
begin = 0
end = len(data)-1
while begin < end:
data[begin],data[end]=data[end],data[begin]
begin +=1
end -=1
return data
def reverse_str(data):
if data is None:
return None
data = list(data)
data_rev = reverse(data)
print "first all charactory",data_rev
start_word = 0
for i in range(start_word,len(data)):
if data_rev[start_word]==" ":
start_word +=1
elif data_rev[i] ==" " or i ==len(data)-1:
data_rev[start_word:i] = reverse(data_rev[start_word:i])
start_word =i+1
return "".join(data_rev)