字符串转16进制_16、atoi-整数字符串转整数-leetcode8-中等
生活随笔
收集整理的這篇文章主要介紹了
字符串转16进制_16、atoi-整数字符串转整数-leetcode8-中等
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
思路:借助正則表達式。
class Solution:def myAtoi(self, s: str) -> int:import repattern = re.compile(r'^[-+]?d+') # 生成patterns = s.lstrip() #去除左側空格num_str = pattern.findall(s) #找到pattern,返回一個listnum = int(*num_str) #用*將list解包return max(min(num, 2**31-1), -2**31) #界限處理:小于最大的有符號正整數,然后大于最小的有符號負整數正則表達式:
^用法:限定開頭,如 ^A會匹配"An e"中的A,但是不會匹配"ab A"中的A,此處用以限定只匹配從左側字符串開頭的數字字符串,因此findall()返回的列表最多一個元素。[]用法:是定義匹配的字符范圍。
?用法:匹配零次或一次。
d+用法:匹配多個數字。
compile() 函數用于編譯正則表達式,生成一個正則表^達式( Pattern )對象。
findall()在字符串中找到正則表達式所匹配的所有子串,并返回一個列表,如果沒有找到匹配的,則返回空列表。
lstrip()去除字符串左側空格。
function(*list)*表示對list進行解包。
python的解包可以這樣來理解:把元素給拆分并把其賦值給自己所需要的變量,因此元素應該是一個可迭代對象。
max(min(num, 2**31-1), -2**31) #界限處理:num應該小于最大的有符號正整數,然后大于最小的有符號負整數。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的字符串转16进制_16、atoi-整数字符串转整数-leetcode8-中等的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++ windows 蓝牙库_蓝牙翻页
- 下一篇: hybrid7 宝马active_【图】