每日一題10009-反轉數字
1.題目詳情
給定一個整數,請將該數各個位上數字反轉得到一個新數。新數也應滿足整數的常見形式,即除非給定的原數為零,否則反轉後得到的新數的最高位數字不應為零(參見樣例2)。
2.解題思路
1. python中如何實現反轉?
2. 正數和負數有什麼區別?
3. 如何避免0098這種最高位數為零情況出現?
3.程式碼實現
import math
number=(input())
if number.isdigit() and int(number)>=0: #isdigit() 方法檢測字串是否只由數字組成。
number_new=number[::-1] #反轉
number_result=int(number_new.lstrip("0")) #lstrip() 方法用於截掉字串左邊的空格或指定字元,即截掉0
else:
# 負數的情況,首先轉為正數:
# 把負號去掉
# number=number[1:]
# print("fushu:",number)
# number_new=-int(number[::-1])#這種寫法也可以
number_result =-int((number[1:][::-1]).lstrip("0"))
print(number_result)
4.知識點
- 反轉有兩種方式:
使用python中列表裡的reverse()方法,實現反轉,注意是列表;
python中列表,字串,元組都可以用[::-1]實現反轉 - n.isdigit()判斷是否是數字
- n.istrip()可擷取掉字串左邊的想要擷取的東西
- 從列表的[1:]開始就可以去掉不好處理的負號了
相關文章
- LeetCode每日一題:整數反轉(No.7)LeetCode每日一題
- [每日一題] 第二題:反轉連結串列每日一題
- 每日一道演算法:整數反轉演算法
- 每日一題:五 特別的數字每日一題
- 每日一道 LeetCode (2):整數反轉LeetCode
- 字串或數字反轉字串
- 每日一道演算法:羅馬數字轉整數演算法
- LeetCode每日一題: 僅僅反轉字母(No.917)LeetCode每日一題
- 每日一道 LeetCode (4):羅馬數字轉整數LeetCode
- [每日一題] 第四題:圓圈中最後剩下的數字每日一題
- 每日一題(一):找出兩個陣列中共有的數字每日一題陣列
- [每日一題] 第十四題:和為s的兩個數字每日一題
- [每日一題] 第十九題:陣列中重複的數字每日一題陣列
- LeetCode每日一題: 猜數字大小(No.374)LeetCode每日一題
- LeetCode每日一題:反轉連結串列(No.206)LeetCode每日一題
- LeetCode每日一題: 反轉字串中的母音字母(No.345)LeetCode每日一題字串
- LeetCode每日一題:反轉字串中的單詞 III(No.557)LeetCode每日一題字串
- LeetCode每日一題:只出現一次的數字(No.136)LeetCode每日一題
- 整數反轉:給出一個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。符號
- 【LeetCode】每日一題129:求根到葉子節點數字之和LeetCode每日一題
- 微軟面試題之數字謎題 (轉)微軟面試題
- 給定一個 32 位有符號整數,將整數中的數字進行反轉。符號
- 每日一題每日一題
- 力扣 204. 計數質數(每日一題)力扣每日一題
- Day7(字串)|344.反轉字串 541.反轉字串II 54.替換數字字串
- [每日一題] 第二十題:最小的k個數每日一題
- //編寫一個函式,傳入一個整數,將數字反轉,檢查數字是不是數字的2倍 果是則返回true,否則返回false函式False
- 10.5 每日一題 18. 四數之和每日一題
- 每日一題 - 劍指 Offer 53 - I. 在排序陣列中查詢數字 I每日一題排序陣列
- 每日一練(20):陣列中出現次數超過一半的數字陣列
- 每日一練(24):在排序陣列中查詢數字排序陣列
- [每日一題] 第十六題:n個骰子的點數每日一題
- 每日一題2每日一題
- 每日一題1每日一題
- leetcode 解題:7. 整數反轉 @ 彈出和推入數字 & 溢位前進行檢查LeetCode
- LeetCode每日一題:自除數(No.728)LeetCode每日一題
- LeetCode每日一題:迴文數(No.9)LeetCode每日一題
- LeetCode每日一題:兩數之和(No.1)LeetCode每日一題