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

58-2左旋转字符串

时间:2019-09-18 11:01:53      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:二次   ring   部分   def   str   class   join   左旋转字符串   reverse   

题目:字符串左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请实现左旋转操作。

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

def left_rotate_string(s,n):
    s = list(s)
    ls = len(s)
    reverse(s,0,ls-1)
    reverse(s,0,ls-n-1)
    reverse(s,ls-n,ls-1)
    return ‘‘.join(s)

  注:主要思路是采用3次旋转,第一次字符串全部旋转;第二次前半部分旋转,以指定的n为分界点,此时旋转一次后的分界点变为len(s)-n;第三次后面部分旋转。

58-2左旋转字符串

标签:二次   ring   部分   def   str   class   join   左旋转字符串   reverse   

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

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