[leetcode]541.反转字符串||
生活随笔
收集整理的這篇文章主要介紹了
[leetcode]541.反转字符串||
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給定一個字符串 s 和一個整數 k,從字符串開頭算起,每計數至 2k 個字符,就反轉這 2k 字符中的前 k 個字符。
- 如果剩余字符少于 k 個,則將剩余字符全部反轉。
- 如果剩余字符小于 2k 但大于或等于 k 個,則反轉前 k 個字符,其余字符保持原樣。
示例 1:
輸入:s = "abcdefg", k = 2
輸出:"bacdfeg"
?示例 2:
輸入:s = "abcd", k = 2
輸出:"bacd"
提示:
- 1 <= s.length <= 104
- s?僅由小寫英文組成
- 1 <= k <= 104
雙指針
class Solution:def reverseStr(self, s: str, k: int) -> str:res=list(s)for cur in range(0,len(s),2*k):res[cur:cur+k]=self.reverse_substring(res[cur:cur+k])return ''.join(res)def reverse_substring(self,text):left,right=0,len(text)-1while left<right:text[left],text[right]=text[right],text[left]left+=1right-=1return text?
總結
以上是生活随笔為你收集整理的[leetcode]541.反转字符串||的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [leetcode]344.反转字符串
- 下一篇: [leetcode]151.翻转字符串里