Leetcode 541 Reverse String II
Given a string s and an integer k, reverse the first k characters for every 2k characters counting from the start of the string.
If there are fewer than k characters left, reverse all of them. If there are less than 2k but greater than or equal to k characters, then reverse the first k characters and left the other as original.
Input: s = "abcdefg", k = 2
Output: "bacdfeg"
Input: s = "abcd", k = 2
Output: "bacd"
- Soruda bize bir string ve bir sayı veriliyor ve bu stringin bu sayıx2 kadar olan bölümlerinde sayı kadar olan ilk harflerini ters çevirmemiz isteniyor.
- Soru biraz karışık ama örneklersek.
- “abcdefghsdsdf” ve 2 için “bacdfeghdssdf” oluşuyor.Her 4 karakterlik alanın ilk 2 karakteri ters çevriliyor.
- abcd efgh sdsdf bacd fegh dssdf
class Solution:
def reverseStr(self, s, k):
s = list(s)
for i in range(0, len(s), 2*k):
s[i:i+k] = reversed(s[i:i+k])
return "".join(s)