python实现字符串的倒序

今天看到一个面试题,说实现一串字符串的倒序。如:“abcde" --> "edcba"

  1. 使用python的特性
    s = "abcde"
    
    def str_reverse1(s):
    
        return s[::-1]
    
    if __name__ == '__main__':
        rs = str_reverse1(s)
        print(rs)
  2. 使用列表
    s = "abcde"
    
    def str_reverse2(s):
        # l = list(s).reverse()     #错误
        l = list(s)
        l.reverse()
        return "".join(l)
    
    if __name__ == '__main__':
        rs = str_reverse2(s)
        print(rs)
  3. 使用循环
    s = "abcde"
    
    def str_reverse3(s):
        s1 = ""
        for s2 in s[::-1]:
            s1 += s2
    
        return s1
    
    if __name__ == '__main__':
        rs = str_reverse3(s)
        print(rs)
  4. 使用库collections
    from collections import deque
    s = "abcde"
    
    def str_reverse4(s):
        dq = deque(s)       # or      dq = deque()
        dq.reverse()        #         dq.extendleft(s)
        return "".join(dq)
    
    if __name__ == '__main__':
        rs = str_reverse4(s)
        print(rs)
  5. 使用递归
    s = "abcde"
    
    def str_reverse5(s):
    
        if len(s) <= 1:
            return s
    
        return str_reverse5(s[1:])+s[0]
    
    if __name__ == '__main__':
        rs = str_reverse5(s)
        print(rs)

猜你喜欢

转载自blog.csdn.net/fm345689/article/details/88559479