剑指offer58-||.左旋转字符串
生活随笔
收集整理的這篇文章主要介紹了
剑指offer58-||.左旋转字符串
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
字符串的左旋轉(zhuǎn)操作是把字符串前面的若干個(gè)字符轉(zhuǎn)移到字符串的尾部。請(qǐng)定義一個(gè)函數(shù)實(shí)現(xiàn)字符串左旋轉(zhuǎn)操作的功能。比如,輸入字符串"abcdefg"和數(shù)字2,該函數(shù)將返回左旋轉(zhuǎn)兩位得到的結(jié)果"cdefgab"。
示例 1:
輸入: s = "abcdefg", k = 2 輸出:?"cdefgab"?示例 2:
輸入: s = "lrloseumgh", k = 6 輸出:?"umghlrlose"限制:
- 1 <= k < s.length <= 10000
1.切片
class Solution:def reverseLeftWords(self, s: str, n: int) -> str:return s[n:]+s[0:n]2.reverse
class Solution:def reverseLeftWords(self, s: str, n: int) -> str:s=list(s)s[0:n]=list(reversed(s[0:n]))s[n:]=list(reversed(s[n:]))s.reverse()return ''.join(s)3.自定義函數(shù)
class Solution:def reverseLeftWords(self, s: str, n: int) -> str:def reverse_sub(lst,left,right):while left<right:lst[left],lst[right]=lst[right],lst[left]left+=1right-=1res=list(s)end=len(res)-1reverse_sub(res,0,n-1)reverse_sub(res,n,end)reverse_sub(res,0,end)return ''.join(res)總結(jié)
以上是生活随笔為你收集整理的剑指offer58-||.左旋转字符串的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [leetcode]151.翻转字符串里
- 下一篇: [leetcode]15.三数之和