解題思路(簡單粗暴好理解的解法):
1.遍歷字串,找到第乙個非空格的字元,如果沒找到,就返回0
2.如果找到的第乙個非空字元為正或者負號,則要考慮符號位後一位是否是數字(通過flag判斷),不是數字則返回0
3.如果符號位後一位是數字,就要將接下來的連續數字轉化為整數,為了防止累加的過程中越界,這裡做了兩個處理:一是將累加結果res定義成long,二是邊加邊判斷當前結果是否超範圍
4.如果找到的第乙個非空字元為數字,同樣執行累加的過程,具體過程與第3步類似
5.如果找到的第乙個非空字元不是數字,直接返回0
**實現:
class solution
else if(res>integer.max_value&&first=='-')
i++;
}if(flag)
break;
}//3.找到的第乙個非空字元為數字
else if(first>='0'&&first<='9')
i++;
}break;
}//4.找到的第乙個非空字元不是數字
else
}return (int)res;
}}
8 字串轉換整數 atoi
題目描述 請你來實現乙個atoi函式,使其能將字串轉換成整數。首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。當我們尋找到的第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字組合起來,作為該整數的正負號 假如第乙個非空字元是數字,則直接將其與之後連續的...
8 字串轉換整數(atoi)
請你來實現乙個 atoi 函式,使其能將字串轉換成整數。首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。當我們尋找到的第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字組合起來,作為該整數的正負號 假如第乙個非空字元是數字,則直接將其與之後連續的數字字...
8 字串轉換整數 atoi
請你來實現乙個 atoi 函式,使其能將字串轉換成整數。首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。當我們尋找到的第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字組合起來,作為該整數的正負號 假如第乙個非空字元是數字,則直接將其與之後連續的數字字...