58-1翻转字符串

Posted kingshine007

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了58-1翻转字符串相关的知识,希望对你有一定的参考价值。

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

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翻转字符串的主要内容,如果未能解决你的问题,请参考以下文章

实现翻转字符串的方法,包含水平翻转(支持中文)

HihoCoder1677 : 翻转字符串(Splay)(区间翻转)

JS将字符串翻转(reverse)--翻转字符串算法

单词字符串儿翻转,栈实现!

python输入一个字符串,输出翻转后的字符串(翻转字符串)

1.2字符串-原串翻转