日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

字符串转换整数(atoi)Python解法

發(fā)布時間:2023/12/19 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 字符串转换整数(atoi)Python解法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

請你來實現(xiàn)一個?myAtoi(string s)?函數(shù),使其能將字符串轉(zhuǎn)換成一個 32 位有符號整數(shù)(類似 C/C++ 中的 atoi 函數(shù))。

函數(shù)?myAtoi(string s) 的算法如下:

讀入字符串并丟棄無用的前導(dǎo)空格
檢查下一個字符(假設(shè)還未到字符末尾)為正還是負(fù)號,讀取該字符(如果有)。 確定最終結(jié)果是負(fù)數(shù)還是正數(shù)。 如果兩者都不存在,則假定結(jié)果為正。
讀入下一個字符,直到到達(dá)下一個非數(shù)字字符或到達(dá)輸入的結(jié)尾。字符串的其余部分將被忽略。
將前面步驟讀入的這些數(shù)字轉(zhuǎn)換為整數(shù)(即,"123" -> 123, "0032" -> 32)。如果沒有讀入數(shù)字,則整數(shù)為 0 。必要時更改符號(從步驟 2 開始)。
如果整數(shù)數(shù)超過 32 位有符號整數(shù)范圍 [?231,??231?? 1] ,需要截斷這個整數(shù),使其保持在這個范圍內(nèi)。具體來說,小于 ?231 的整數(shù)應(yīng)該被固定為 ?231 ,大于 231?? 1 的整數(shù)應(yīng)該被固定為 231?? 1 。
返回整數(shù)作為最終結(jié)果。
注意:

本題中的空白字符只包括空格字符 ' ' 。
除前導(dǎo)空格或數(shù)字后的其余字符串外,請勿忽略 任何其他字符。

來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/string-to-integer-atoi
?

例:

輸入:s = "4193 with words" 輸出:4193 輸入:s = "words and 987" 輸出:0

# 解析:正則表達(dá)式。題目要求,去除開頭的空字符,以數(shù)字或符號開頭,遇到字符就停止,后面去除。

class Solution:def myAtoi(self, s: str) -> int:return max(min(int(*re.findall('^[\+\-]?[0-9]+',s.lstrip())), 2**31 - 1), -2**31) # re.findall()正則表達(dá)式查找 # ^[\+\-]?:以正負(fù)號開頭,可要可不要 # [0-9]+:后面接數(shù)字,最少一個 # s.lstrip():去除字符串s左側(cè)的空字符 # re左上角的*:將結(jié)果列表中的元素提取出來當(dāng)做int()函數(shù)的參數(shù),注:int()函數(shù)只能有一個參數(shù) # max(), min():分別判斷有沒有出下屆和上屆

總結(jié)

以上是生活随笔為你收集整理的字符串转换整数(atoi)Python解法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。