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'
, and?shift('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 +數(shù)字那里了,就是加個括號(char)強(qiáng)制轉(zhuǎn)換一下即可。
然后提交結(jié)果報錯,看了下錯誤的case,又是很大的數(shù)字,,,呃,于是在+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.