LeetCode演算法學習十一 整數反轉

2021-10-05 21:24:22 字數 634 閱讀 7925

給出乙個 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,...