有乙個由小寫字母組成的字串 s,和乙個整數陣列 shifts。
我們將字母表中的下乙個字母稱為原字母的 移位(由於字母表是環繞的, 『z』 將會變成 『a』)。
例如·,shift(『a』) = 『b』, shift(『t』) = 『u』,, 以及 shift(『z』) = 『a』。
對於每個 shifts[i] = x , 我們會將 s 中的前 i+1 個字母移位 x 次。
返回將所有這些移位都應用到 s 後最終得到的字串。
示例:1 <= s.length = shifts.length <= 20000
0 <= shifts[i] <= 10 ^ 9
時間複雜度o(n
)o(n)
o(n)
,空間複雜度o(n
)o(n)
o(n)
,原因是原來的vector溢位
class
solution
for(
int i=
0;isize()
;++i)
else
//如果移動沒有到達'z',不需要轉頭,直接加上移動步數n
}return s;}}
;
其實可以簡化為如下的**。執行速度也會稍快一點。
class
solution
for(
int i=
0;isize()
;++i)
return s;}}
;
Leetcode 848 字母移位 C
有乙個由小寫字母組成的字串 s,和乙個整數陣列 shifts。我們將字母表中的下乙個字母稱為原字母的 移位 由於字母表是環繞的,z 將會變成 a 例如 shift a b shift t u 以及 shift z a 對於每個 shifts i x 我們會將 s 中的前 i 1 個字母移位 x 次。...
848 字母移位
有乙個由小寫字母組成的字串s,和乙個整數陣列shifts。我們將字母表中的下乙個字母稱為原字母的 移位 由於字母表是環繞的,z 將會變成 a 例如 shift a b shift t u 以及shift z a 對於每個shifts i x,我們會將s中的前i 1個字母移位x次。返回將所有這些移位都...
848 字母移位
有乙個由小寫字母組成的字串 s,和乙個整數陣列 shifts。我們將字母表中的下乙個字母稱為原字母的 移位 由於字母表是環繞的,z 將會變成 a 例如 shift a b shift t u 以及 shift z a 對於每個 shifts i x 我們會將 s 中的前 i 1 個字母移位 x 次。...