题解 | #左旋转字符串#
左旋转字符串
http://www.nowcoder.com/practice/12d959b108cb42b1ab72cef4d36af5ec
# -*- coding:utf-8 -*-
class Solution:
def reverse(self, arr):
# print("arr:",arr)
mid = len(arr)/2
for idx in range(0, mid):
arr[idx],arr[len(arr)-idx-1] = arr[len(arr)-idx-1],arr[idx]
return arr
def LeftRotateString(self, s, n):
# write code here
lenS = len(s)
if lenS <= 1:
return s
if n > lenS:
n = n % lenS
# print("nnn", n)
# print("n:",n)
s = [str(item) for item in s]
# print(s)
s = self.reverse(s)
# print(s)
s[0:len(s)-n] = self.reverse(s[0:len(s)-n])
# print("3s:",s)
s[len(s)-n:len(s)] = self.reverse(s[len(s)-n:len(s)])
# print("4s:",s)
return ''.join(s)
class Solution:
def reverse(self, arr):
# print("arr:",arr)
mid = len(arr)/2
for idx in range(0, mid):
arr[idx],arr[len(arr)-idx-1] = arr[len(arr)-idx-1],arr[idx]
return arr
def LeftRotateString(self, s, n):
# write code here
lenS = len(s)
if lenS <= 1:
return s
if n > lenS:
n = n % lenS
# print("nnn", n)
# print("n:",n)
s = [str(item) for item in s]
# print(s)
s = self.reverse(s)
# print(s)
s[0:len(s)-n] = self.reverse(s[0:len(s)-n])
# print("3s:",s)
s[len(s)-n:len(s)] = self.reverse(s[len(s)-n:len(s)])
# print("4s:",s)
return ''.join(s)
