本文主要是介绍Leetcode8.字符串转换整数 -codetop,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
代码(首刷看解析 2024年9月5日)
class Solution {
public:int myAtoi(string str) {unsigned long len = str.length();// 去除前导空格int index = 0;while (index < len) {if (str[index] != ' ') {break;}index++;}if (index == len) {return 0;}int sign = 1;// 处理第 1 个非空字符为正负符号,这两个判断需要写在一起if (str[index] == '+') {index++;} else if (str[index] == '-') {sign = -1;index++;}// 根据题目限制,只能使用 int 类型int res = 0;while (index < len) {char curChar = str[index];if (curChar < '0' || curChar > '9') {break;}if (res > INT_MAX / 10 || (res == INT_MAX / 10 && (curChar - '0') > INT_MAX % 10)) {return INT_MAX;}if (res < INT_MIN / 10 || (res == INT_MIN / 10 && (curChar - '0') > -(INT_MIN % 10))) {return INT_MIN;}res = res * 10 + sign * (curChar - '0');index++;}return res;}
};
这篇关于Leetcode8.字符串转换整数 -codetop的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!