タイトル説明
左回転(ROL)と呼ばれるアセンブリ言語命令のシフトがあり、そして今、この命令は、文字列操作の結果によってシミュレートされ、簡単なタスクがあります。指定された文字列Sの場合、あなたはKビットのシリアル出力した後、その左の円を入れました。例えば、文字列S =「abcXYZdef」は、三つ、即ち「XYZdefabc」後に必要な出力結果を左回転させました。それは単純ではないですか?OK、それを得ます!
第一の溶液の
BA =(A.reverse()B.reverse( ))。リバース()、 3つのアナログ列反転動作缶
# -*- coding:utf-8 -*-
class Solution:
def LeftRotateString(self, s, n):
# write code here
res, length = list(s), len(s)
if n > length : return ""
for i in range(int(n/2)):
res[i], res[n-1-i] = res[n-1-i], res[i]
for i in range(n, int((n+length)/2)):
res[i], res[length-1-i+n] = res[length-1-i+n], res[i]
for i in range(int(length/2)):
res[i], res[length-1-i] = res[length-1-i], res[i]
return "".join(res)
第二の溶液
# -*- coding:utf-8 -*-
class Solution:
def LeftRotateString(self, s, n):
# write code here
return s[n:] + s[:n]