题目地址:
https://leetcode.com/problems/replace-all-digits-with-characters/
给定一个字符串 s s s,其只含小写字母和数字,并且偶数下标的全是小写字母,奇数下标的全是单个数字。要求将 s s s中的数字都改为其前一个字母加上这个数字得到的新字母。题目保证答案合法。
代码如下:
public class Solution {
public String replaceDigits(String s) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
if (i % 2 == 0) {
sb.append(ch);
} else {
sb.append((char) (s.charAt(i - 1) + ch - '0'));
}
}
return sb.toString();
}
}
时空复杂度 O ( l s ) O(l_s) O(ls)。