字符串算法之字符串反转

反转操作在实际中还没遇到有什么意义,权作练习

3种方法:

1、使用内置的reversed函数

注意python3中reversed函数返回的是一个迭代器。

def  reversestr(astr):

         bstr=’’

         for i in reversed('abcde'):

                   bstr=bstr+i

return bstr

2、倒序处理

或不用内置函数,从字符串尾部开始处理,如

def reversestr(astr):

        bstr=''

        length=len(astr)

        i=length-1

        while i>=0:

                bstr+=astr[i]

                i-=1

        return bstr

3、递归

利用栈的先进后出思想,依次入栈每个字符,再退栈,打印出每个字符。

def revstr(astr):

    if astr=='' or not isinstance(astr,str):

        return

    if len(astr)==1:

        return astr

    return revstr(astr[1::])+astr[0]

       代码将字符串从左到右的各个字符依次入栈,在栈结束的时候,依次回溯并连接。

       测试用例

>>>revstr('abc123')

'321cba'

>>>revstr('a')    

'a'

>>>revstr('')

>>> 

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容