难度:简单
给你一个字符串
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 <= 1001 <= k <= 104s仅由小写英文字母组成。题解:
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)
