leetcode 字串轉換整數(atoi)

2021-10-14 15:12:52 字數 1378 閱讀 8756

實現乙個atoi函式,使其能將字串轉換成整數。

轉換規則:

首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。接下來的轉化規則如下:

假如該字串中的第乙個非空格字元不是乙個有效整數字元、字串為空或字串僅包含空白字元時,則你的函式不需要進行轉換,即無法進行有效轉換。

在任何情況下,若函式不能進行有效的轉換時,請返回 0 。

注意:

class solution 

int num = 0;

int sign = 1;

for (int i = 0; i < s.length(); i++)

if ((0 == i) && (s[i] == '-'))

if (s[i] < '0' || s[i] > '9')

if ((num > int_max / 10) || (num == int_max / 10 && s[i] - 48 > 7))

if ((num < int_min / 10) || (num == int_min / 10 && s[i] - 48 > 8))

num = num * 10 + (s[i] - 48) * sign;

}return num;}};

**略顯臃腫。

轉成**為:

空白字元

'+'或者'-'

數字其他

start

start

sign

in_number

endsign

endend

in_number

endin_number

endend

in_number

endend

endend

endend

class automaton },

},},}};

int get_col(char c) else if (c == '+' || c == '-') else if (isdigit(c)) else

}public:

int sign = 1;

long long ans = 0;

void get(char c) else if (state == "sign" && c == '-')

}};class solution

return automaton.ans * automaton.sign;}};

時間複雜度o(n), 空間複雜度o(1)

leetcode字串轉換整數

請你來實現乙個atoi函式,使其能將字串轉換成整數。首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。當我們尋找到的第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字組合起來,作為該整數的正負號 假如第乙個非空字元是數字,則直接將其與之後連續的數字字元組...

LeetCode 字串轉換整數

題目描述 請你來實現乙個 atoi 函式,使其能將字串轉換成整數。首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。當我們尋找到的第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字組合起來,作為該整數的正負號 假如第乙個非空字元是數字,則直接將其與之後連...

leetcode 字串轉換整數 atoi

請你來實現乙個 atoi 函式,使其能將字串轉換成整數。首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。當我們尋找到的第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字組合起來,作為該整數的正負號 假如第乙個非空字元是數字,則直接將其與之後連續的數字字...