Leetcode 848 字母移位 C

2021-09-19 14:28:40 字數 787 閱讀 1029

有乙個由小寫字母組成的字串 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 次。...