LeetCode简单题之将所有数字用字符替换
生活随笔
收集整理的這篇文章主要介紹了
LeetCode简单题之将所有数字用字符替换
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
給你一個下標從 0 開始的字符串 s ,它的 偶數 下標處為小寫英文字母,奇數 下標處為數字。
定義一個函數 shift(c, x) ,其中 c 是一個字符且 x 是一個數字,函數返回字母表中 c 后面第 x 個字符。
比方說,shift(‘a’, 5) = ‘f’ 和 shift(‘x’, 0) = ‘x’ 。
對于每個 奇數 下標 i ,你需要將數字 s[i] 用 shift(s[i-1], s[i]) 替換。
請你替換所有數字以后,將字符串 s 返回。題目 保證 shift(s[i-1], s[i]) 不會超過 ‘z’ 。
示例 1:
輸入:s = “a1c1e1”
輸出:“abcdef”
解釋:數字被替換結果如下:
- s[1] -> shift(‘a’,1) = ‘b’
- s[3] -> shift(‘c’,1) = ‘d’
- s[5] -> shift(‘e’,1) = ‘f’
示例 2:
輸入:s = “a1b2c3d4e”
輸出:“abbdcfdhe”
解釋:數字被替換結果如下: - s[1] -> shift(‘a’,1) = ‘b’
- s[3] -> shift(‘b’,2) = ‘d’
- s[5] -> shift(‘c’,3) = ‘f’
- s[7] -> shift(‘d’,4) = ‘h’
提示:
1 <= s.length <= 100
s 只包含小寫英文字母和數字。
對所有 奇數 下標處的 i ,滿足 shift(s[i-1], s[i]) <= ‘z’ 。
來源:力扣(LeetCode)
解題思路
??遍歷所有的奇數下標數字元素,然后將它前一個字母的ascll碼加上當前數字再轉換為字母,替換掉原來的數字即可。
class Solution:def replaceDigits(self, s: str) -> str:for i in range(1,len(s),2):s=s[0:i]+chr(ord(s[i-1])+int(s[i]))+s[i+1:]return s
總結
以上是生活随笔為你收集整理的LeetCode简单题之将所有数字用字符替换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode简单题之数组中两元素的最
- 下一篇: LeetCode简单题之重新格式化字符串