[劍指offer]左旋轉字串
阿新 • • 發佈:2019-02-05
分析:以第n個為間隔,左邊翻轉一次,右邊翻轉一次,整個字串再翻轉一次。
程式碼:
class Solution { public: void reverse(string &s,int start,int end){ int i=start; int j=end; char temp; while(i<j){ temp=s[i]; s[i]=s[j]; s[j]=temp; i++; j--; } } string LeftRotateString(string str, int n) { int len=str.size(); if(len==0||n==0) return str; string &temp=str; reverse(temp,0,n-1); reverse(temp,n,len-1); reverse(temp,0,len-1); return temp; } };
當然可以用python很簡單的實現,不過這麼回答的話就沒什麼意思了。
# -*- coding:utf-8 -*-
class Solution:
def LeftRotateString(self, s, n):
# write code here
return s[n:]+s[:n]