python下实现字符串反转

来源:互联网 发布:大乐透必中五红算法 编辑:程序博客网 时间:2024/05/22 14:26

        我想大家一看到题目,就会有这种感觉:这很简单嘛,没有什么难度。事实也是这样的。不过我想跟大家分享一个超帅的方法,我相信你们看到后应该也会有我这种想法,好了,不罗嗦了,下面开始进入正题。

方法1

        我想学过C/C++的朋友应该会给出这种解决方案:设置头尾指针,交换这两个数的位置,然后指针分别向中间移动一下,再交换两变量位置,直到首位指针第一次错位交叉。代码如下:

def reverse1(string): 
    begin=0 
    end=len(string)-1 
    strlist=[i for i in string] 
    while(begin<end): 
        temp=strlist[begin] 
        strlist[begin]=strlist[end] 
        strlist[end]=temp 
        begin+=1 
        end-=1 
    return ''.join(strlist)

这种方法的缺点在于需要先将string处理成list,再进行反转。优点在于反转时只需要遍历一半的长度。

方法2

        设置尾指针,然后输出变量,加入到一个新的list中,向左移动尾指针,直到所有的变量都加入到list中,返回新的list。代码如下:

def reverse2(string): 
    strlist=[] 
    i=len(string)-1 
    while(i>=0): 
        strlist.append(string[i]) 
        i-=1 
    return ''.join(strlist)

这种方法已经很简洁了,这个问题到这应该差不多了,别急,再往下看看。

方法3

        直接上代码,各位看好了!

def reverse3(string): 
    return string[::-1]

只需要一行代码就搞定了!充分利用了python灵活的特点,不错,值得借鉴!

        本文到此结束,欢迎再来!

0 0
原创粉丝点击