码迷,mamicode.com
首页 > 其他好文 > 详细

58-1翻转字符串

时间:2019-09-18 11:10:35      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:ret   turn   class   highlight   rate   字符串   单词   end   pre   

题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。标点符号和普通字母一样处理。

def reverse_string(s):
    s= list(s)
    reverse(s,0,len(s)-1)
    begin = 0
    for i,c in enumerate(s):
        if c==‘ ‘:
            end = i-1
            reverse(s,begin,end)
            begin = i+1

    return ‘‘.join(s)

def reverse(arry,begin,end):
    while begin<end:
        arry[begin],arry[end] = arry[end],arry[begin]
        begin +=1
        end -=1

  注:采用的思想为两次翻转。先全部翻转,然后根据空格分隔的每个单词进行第二次翻转。由于Python里string不可变,所以要通过列表来进行操作。

58-1翻转字符串

标签:ret   turn   class   highlight   rate   字符串   单词   end   pre   

原文地址:https://www.cnblogs.com/kingshine007/p/11539960.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!