注意审题
1.字符串前后去除空格 trim()
2.可能存在正负号需注意
3.去除前导零
4.之后如果遇到不是数字的直接返回0
5.数字后面不是数字的部分直接break
6.最大值最小值处理
public int myAtoi(String s) {s = s.trim();if(s.length() == 0) return 0;char c = s.charAt(0);int start = 0,pro = 1;if(c == '+'){start++;}else if(c == '-'){start++;pro = -1;}for(int i = start;i < s.length(); i ++){if(s.charAt(i) == '0'){start++;}else if((s.charAt(i) - '0') > 9 || (s.charAt(i) - '0') < 0 || s.charAt(i) == ' '){return 0 ;}else break;}long num = 0;int x = 10;while(start < s.length()){if(s.charAt(start) == ' ' || (s.charAt(start) - '0') > 9 || (s.charAt(start) - '0') < 0){break;}num = num * x + (s.charAt(start++) - '0');if(pro*num >= Integer.MAX_VALUE) return Integer.MAX_VALUE;if(pro*num <= Integer.MIN_VALUE) return Integer.MIN_VALUE;}return (int)(pro*num);}
