# coding=utf-8 #左旋转就是分成两部分,完成3次反转即可 def leftrotate(s,n): if len(s)<=0 or len(s)<n or n<0: return '' strlist=list(s) strlist=reverse(strlist) length=len(s) p=length-n frontlist=reverse(strlist[:p]) behindlist=reverse(strlist[p:]) resultstr=''.join(frontlist)+''.join(behindlist) return resultstr def reverse(lists): if lists==None or len(lists)<=0: return '' startindex = 0 endindex = len(lists) - 1 while startindex < endindex: lists[startindex], lists[endindex] = lists[endindex], lists[startindex] startindex += 1 endindex -= 1 return lists if __name__ == '__main__': s='abcdef' print(leftrotate(s,2))
offer42--左旋转n个字符
最新推荐文章于 2024-03-17 15:00:02 发布