假设我们有一个小写字母字符串s,偏移量为k。我们必须将s中的每个字母替换为字母中沿字母k的位置。我们必须记住,当字母溢出a或z时,它会缠绕在另一侧。
因此,如果输入类似于“ hello”,k = 3,则输出将为“ khoor”
为了解决这个问题,我们将遵循以下步骤-定义一个功能shift()。这将需要c
i:=(c)的ASCII-('a')的ASCII
i:= i + k
我:=我mod 26
从ASCII返回字符(ASCII('a')+ i)
从主要方法中,执行以下操作-
ret:=对于s中的每个字符c,通过调用shift(c)列出元素列表
返回ret
让我们看下面的实现以更好地理解-
示例class Solution:
def solve(self, s, k):
def shift(c):
i = ord(c) - ord('a')
i += k
i %= 26
return chr(ord('a') + i)
return "".join(map(shift, s))
ob = Solution()print(ob.solve("hello", 3))
输入值"hello", 3
输出结果khoor