翻转整数算法
給出一個(gè) 32 位的有符號整數(shù),你需要將這個(gè)整數(shù)中每位上的數(shù)字進(jìn)行反轉(zhuǎn)。
注意
假設(shè)我們的環(huán)境只能存儲(chǔ)得下 32 位的有符號整數(shù),則其數(shù)值范圍為 [?231, 231 ? 1]。請根據(jù)這個(gè)
假設(shè),如果反轉(zhuǎn)后整數(shù)溢出那么就返回 0。
方法一、 翻轉(zhuǎn)字符串方法
如果將數(shù)字看成是有符號位的字符串,那么我們就能夠通過使用 JS 提供的字符串方法來實(shí)現(xiàn)非符 號部分的翻轉(zhuǎn),又因?yàn)檎麛?shù)的翻轉(zhuǎn)并不影響符號,所以我們最后補(bǔ)充符號,完成算法。
復(fù)雜度分析
方法二 、類似 歐幾里得算法 求解
我們借鑒歐幾里得求最大公約數(shù)的方法來解題。符號的處理邏輯同方法一,這里我們通過模 10 取 到最低位,然后又通過乘 10 將最低位迭代到最高位,完成翻轉(zhuǎn)。
始取值拼成新的數(shù)
復(fù)雜度分析
總結(jié)
- 上一篇: 望洞庭的意思全解
- 下一篇: hover时候缓慢切换两张图片