赞
踩
在这里插入代码片
var myAtoi = function(s) { // 正负号默认为正 let res = 0, negativeSymbol = 1; // 1、处理空格 s = s.trim(); // 2、读取数据,第一个可能是数字也可能是符号。所以还是要从最开始的位置判断 for(let i=0;i<s.length;i++){ // 处理有+ - 符号的数字,处理完后终止本次循环,进行下一次循环 if(i==0 && s[i] == "-"){ negativeSymbol = -1; continue; }else if(i==0 && s[i] == "+"){ negativeSymbol = 1; continue; } // 如果为数据,且不为空格,如果遇到空格,就终止循环。 if(s[i]>=0 && s[i]<=9 && s[i] != " "){ res = res *10 + (s[i]-'0'); // 注意将字符转换成数字 }else break; // 进行数据范围判断 if(res*negativeSymbol <= -2147483648 ) return -2147483648; else if(res*negativeSymbol >= 2147483647) return 2147483647; } return res*negativeSymbol; };
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。