字符串結構化算法?# 請你來實現一個 myAtoi(string s) 函數,
# 使其能将字符串轉換成一個 32 位有符号整數(類似 C/C 中的 atoi 函數)
# 讀入字符串并丢棄無用的前導空格
# 檢查下一個字符(假設還未到字符末尾)為正還是負号,讀取該字符(如果有) 确定最終結果是負數還是正數 如果兩者都不存在,則假定結果為正
# 讀入下一個字符,直到到達下一個非數字字符或到達輸入的結尾字符串的其餘部分将被忽略
# 将前面步驟讀入的這些數字轉換為整數(即,"123" -> 123, "0032" -> 32)如果沒有讀入數字,則整數為 0 必要時更改符号(從步驟
# 2 開始)
# 如果整數數超過 32 位有符号整數範圍 [−2³¹, 231 − 1] ,需要截斷這個整數,使其保持在這個範圍内具體來說,小于 −2³¹ 的整數應該被固
# 定為 −2³¹ ,大于 231 − 1 的整數應該被固定為 231 − 1
class Solution:
""" 請你來實現一個 myAtoi(string s) 函數,使其能将字符串轉換成一個 32 位有符号整數(類似 C/C 中的 atoi 函數)
# 給定字符串去除左右空格;
# 判斷字符串首尾是否為 -号;
# 遍曆各個字符是否為數字,如不是則遍曆結束;
# 字符串轉換為數字,int取值範圍 [-2³¹, 2³¹ - 1]
"""
def myAtoi(self, s: str) -> int:
i = ""
for idx, t in enumerate(s.strip()):
if (t in "- " and idx == 0) or t.isdigit():
i = t
else:
break
i = "0" if not i or i in "- " else i
if -2147483648 <= int(i) <= 2147483647:
return int(i)
return 2147483647 if int(i) > 0 else -2147483648
,下面我們就來聊聊關于字符串結構化算法?接下來我們就一起去了解一下吧!
# 請你來實現一個 myAtoi(string s) 函數,
# 使其能将字符串轉換成一個 32 位有符号整數(類似 C/C 中的 atoi 函數)。
# 讀入字符串并丢棄無用的前導空格
# 檢查下一個字符(假設還未到字符末尾)為正還是負号,讀取該字符(如果有)。 确定最終結果是負數還是正數。 如果兩者都不存在,則假定結果為正。
# 讀入下一個字符,直到到達下一個非數字字符或到達輸入的結尾。字符串的其餘部分将被忽略。
# 将前面步驟讀入的這些數字轉換為整數(即,"123" -> 123, "0032" -> 32)。如果沒有讀入數字,則整數為 0 。必要時更改符号(從步驟
# 2 開始)。
# 如果整數數超過 32 位有符号整數範圍 [−2³¹, 231 − 1] ,需要截斷這個整數,使其保持在這個範圍内。具體來說,小于 −2³¹ 的整數應該被固
# 定為 −2³¹ ,大于 231 − 1 的整數應該被固定為 231 − 1 。
class Solution:
""" 請你來實現一個 myAtoi(string s) 函數,使其能将字符串轉換成一個 32 位有符号整數(類似 C/C 中的 atoi 函數)
# 給定字符串去除左右空格;
# 判斷字符串首尾是否為 -号;
# 遍曆各個字符是否為數字,如不是則遍曆結束;
# 字符串轉換為數字,int取值範圍 [-2³¹, 2³¹ - 1]
"""
def myAtoi(self, s: str) -> int:
i = ""
for idx, t in enumerate(s.strip()):
if (t in "- " and idx == 0) or t.isdigit():
i = t
else:
break
i = "0" if not i or i in "- " else i
if -2147483648 <= int(i) <= 2147483647:
return int(i)
return 2147483647 if int(i) > 0 else -2147483648
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!