剑指offer58-||.左旋转字符串
生活随笔
收集整理的這篇文章主要介紹了
剑指offer58-||.左旋转字符串
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
字符串的左旋轉操作是把字符串前面的若干個字符轉移到字符串的尾部。請定義一個函數實現字符串左旋轉操作的功能。比如,輸入字符串"abcdefg"和數字2,該函數將返回左旋轉兩位得到的結果"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.自定義函數
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)總結
以上是生活随笔為你收集整理的剑指offer58-||.左旋转字符串的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [leetcode]151.翻转字符串里
- 下一篇: [leetcode]15.三数之和