給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。解法一:先轉換為字串,利用字串切片方式倒序後再轉回整數示例 1:
輸入: 123
輸出: 321
示例 2:
輸入: -123
輸出: -321
示例 3:
輸入: 120
輸出: 21
注意:假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 [−231, 231 − 1]。請根據這個假設,如果反轉後整數溢位那麼就返回 0。
解法二:取餘、取模,數字推入
class solution:def reverse(self, x: int) -> int:
boundary = (1 << 31) - 1 if x > 0 else 1 << 31
res = 0
num = abs(x)
while num != 0:
res = res*10 + num%10
num //= 10
if res > boundary:
return 0
return res if x > 0 else -res
LeetCode 演算法學習 2
longest substring without repeating characters given a string,find the length of the longest substring without repeating characters.example 1 input ab...
Leetcode演算法學習日誌 78 Subsets
given a set ofdistinctintegers,nums,return all possible subsets the power set note the solution set must not contain duplicate subsets.for example,ifn...
leetcode演算法學習 6 最佳觀光組合
給定正整數陣列 a,a i 表示第 i 個觀光景點的評分,並且兩個景點 i 和 j 之間的距離為 j i。一對景點 i j 組成的觀光組合的得分為 a i a j i j 景點的評分之和減去它們兩者之間的距離。返回一對觀光景點能取得的最高分。示例 輸入 8,1,5,2,6 輸出 11 解釋 i 0,...