Leetcode 848. Shifting Letters
You are given a string s
of lowercase English letters and an integer array shifts
of the same length.
Call the shift()
of a letter, the next letter in the alphabet, (wrapping around so that 'z'
becomes 'a'
).
For example,
shift('a') = 'b'
,shift('t') = 'u'
, andshift('z') = 'a'
.
Now for each shifts[i] = x
, we want to shift the first i + 1
letters of s
, x
times.
Return the final string after all such shifts to s are applied.
Example 1:
Input: s = "abc", shifts = [3,5,9]
Output: "rpl"
Explanation: We start with "abc".
After shifting the first 1 letters of s by 3,
we have "dbc".
After shifting the first 2 letters of s by 5,
we have "igc".
After shifting the first 3 letters of s by 9,
we have "rpl",
the answer.
Example 2:
Input: s = "aaa", shifts = [1,2,3]
Output: "gfd"
Constraints:
1 <= s.length <= 105
s
consists of lowercase English letters.shifts.length == s.length
0 <= shifts[i] <= 109
一开始卡在char +数字那里了,就是加个括号(char)强制转换一下即可。
然后提交结果报错,看了下错误的case,又是很大的数字,,,呃,于是在+shifts[i]后面增加了%26.然后就直接过了,int这个类型真的是加减乘除都要考虑溢出了。。。。
Runtime: 13 ms, faster than 71.40% of Java online submissions for Shifting Letters.
Memory Usage: 52.9 MB, less than 56.27% of Java online submissions for Shifting Letters.