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