8 字串轉整數 atoi

2021-09-02 19:01:59 字數 901 閱讀 9990

測試案例:

"+-2" 預期是0

"2.14預期是2"

" +0 123"預期是0

"9223372036854775808"預期是2147483647

"- 234"預期是0

"123-"預期是123

下面是反覆根據測試案例最後除錯成功,考慮情況太多複雜。不太好。。。

class solution 

int temp = str[i] - '0';

if (temp >= 0 && temp <= 9)

else if (str[i] == ' ')

else if (str[i] == '+' || str[i] == '-')

else

if (str[i] == '-')

if (sign>1)return 0;

if (res*flagint_max)

}return res*flag;

}};

參考

複雜度:

時間 o(n) 空間 o(1)

思路:字串題一般考查的都是邊界條件、特殊情況的處理。所以遇到此題一定要問清楚各種條件下的輸入輸出應該是什麼樣的。這裡已知的特殊情況有:

s.erase()

c++ code:

class solution 

public:

int myatoi(string str)

else if (c >= '0'&&c <= '9')

else if (res*flag >= int_max)

}else

}return res*flag;

}};

8 字串轉整數(atoi)

實現atoi,將字串轉為整數。說明 這題解釋的比較模糊 即沒有指定輸入格式 你得事先匯集所有的輸入情況。atoi的要求 這個函式需要丟棄之前的空白字元,直到找到第乙個非空白字元。之後從這個字元開始,選取乙個可選的正號或負號後面跟隨盡可能多的數字,並將其解釋為數字的值。字串可以在形成整數的字元後包括多...

8 字串轉整數 atoi

一 題目 實現atoi,將字串轉為整數。在找到第乙個非空字元之前,需要移除掉字串中的空格字元。如果第乙個非空字元是正號或負號,選取該符號,並將其與後面盡可能多的連續的數字組合起來,這部分字元即為整數的值。如果第乙個非空字元是數字,則直接將其與之後連續的數字字元組合起來,形成整數。字串可以在形成整數的...

LeetCode 8 字串轉整數(atoi

實現 atoi,將字串轉為整數。說明 這題解釋的比較模糊 即沒有指定輸入格式 你得事先匯集所有的輸入情況。atoi的要求 這個函式需要丟棄之前的空白字元,直到找到第乙個非空白字元。之後從這個字元開始,選取乙個可選的正號或負號後面跟隨盡可能多的數字,並將其解釋為數字的值。字串可以在形成整數的字元後包括...