8. String to Integer (atoi)
字符换转化为整形:这道题在leetcode上归为easy,其实并不easy,就是在考察一个人考虑问题的全面性,我提交了很多次才通过,都是因为考虑不全,导致部分测试用例无法通过。
这道题题目描述很简单,就是字符串转化为整形,但是要考虑的可能的输入情况是很多的,在Requirements for atoi里给出了具体的要求。
1.丢弃字符串中第一个非空格字符前的所有空格字符
2.字符串的开始有可选的正负号:要么是负,要么是正,要么没有(默认是正的),如果有多个正负号,则字符串是无法转换的,正负号后面跟着尽可能多的数字字符
3.字符串可以包含数字以外的字符,如果遇到非数字字符,只取该字符之前的字符
4.如果超出int的范围,则返回INT_MAX或者INT_MIN