/**
* @param {string} s
* @return {number}
*/
var myAtoi = function (s) {
// 正负号默认为正
let res = 0;
let negativeSymbol = 1;
s = s.trim();
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;
};