難度:簡單
給你一個字符串?
s
?和一個整數?k
。請你使用以下算法加密字符串:
- 對于字符串?
s
?中的每個字符?c
,用字符串中?c
?后面的第?k
?個字符替換?c
(以循環方式)。返回加密后的字符串。
示例 1:
輸入:?s = "dart", k = 3
輸出:?"tdar"
解釋:
- 對于?
i = 0
,'d'
?后面的第 3 個字符是?'t'
。- 對于?
i = 1
,'a'
?后面的第 3 個字符是?'d'
。- 對于?
i = 2
,'r'
?后面的第 3 個字符是?'a'
。- 對于?
i = 3
,'t'
?后面的第 3 個字符是?'r'
。示例 2:
輸入:?s = "aaa", k = 1
輸出:?"aaa"
解釋:
由于所有字符都相同,加密后的字符串也將相同。
提示:
1 <= s.length <= 100
1 <= k <= 104
s
?僅由小寫英文字母組成。題解:
class Solution:def getEncryptedString(self, s: str, k: int) -> str:n = len(s) res = [] for i in range(n): # 計算索引,使用模運算來確保循環引用 new_index = (i + k) % n res.append(s[new_index]) return "".join(res)