Python interview common questions, reverse English sentences

define an inversion function

def reverse(str_list,start,end):
    while start<end:
        str_list[start],str_list[end]=str_list[end],str_list[start]
        start+=1
        end-=1 

Define a sentence inversion function

def sentence_reverse(sentence):
    str_list=list(sentence)
    i=0
    long_list=len(str_list)
    while i<long_list:
        if str_list[i] !=' ':
            start=i
            end=start+1
            while(end<long_list)and (str_list[end] !=' '):  #找出单词的长度
                end+=1
            reverse(str_list,start,end-1)   #反转一个单词
            i=end
        else:
            i+=1
    str_list.reverse()
    return(''.join(str_list))
s='   hello, how are you today?  Fine!   '
rs=sentence_reverse(s)
print(rs)
   Fine!  today? you are how hello,   

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325662848&siteId=291194637