题目来自剑指Offer
题目:把字符串转换成整型数,与库函数atoi的功能类似。
原型: int atoi(const char *nptr);
举例:
"123" : 123
"-123" : -123
"00123/2" : 123
"-123/2"; : -123
"- 123/2" :0
"10522545459" : 2147483647 越界
"2147483647"; : 2147483647 刚好不越界
"-21474836480"; : -2147483648;越界
"-2147483648"; : -2147483648 刚好不越界
除此之外,系统提供的函数还可以自动除去起始端的空格,Tab等字符,这里不再实现该功能
" 123" : 123
" -123" : -123
总结下要实现的功能:
(1)遇到非法字符,直接输出目前已经转化成功的结果。
(2)越界后,直接输出最大值或最小值。
要注意的几个要点:
(1)判断数字的正负:检测字符串第一个字符是否为+或-
(2)判断字符的合法性,不合法直接返回。