剑指offer——67. 把字符串转换成整数 发表于 2020-02-15 | 分类于 算法 , 剑指offer | 字数统计: 188 | 阅读时长 ≈ 1 剑指offer刷题 67. 把字符串转换成整数题目链接NowCoder 题目描述将一个字符串转换成一个整数,字符串不是一个合法的数值则返回 0,要求不能使用字符串转换整数的库函数。 1234567Iuput:+21474836471a33Output:21474836470 解题思路12345678910111213141516171819202122232425262728293031class Solution {public: int strToInt(string str) { long long res = 0; if(str.empty()) return res; //去空格 int index = 0; while(index < str.size() && str[index] == ' ') index ++; //去± 做标记 bool isMinus = false; if(str[index] == '+') index ++; else if(str[index] == '-') { index ++; isMinus = true; } //构建整数 for(int i = index; i < str.size(); i ++) { if(str[i] >= '0' && str[i] <= '9') { res = res * 10 + str[i] - '0'; } else break; //不合法 跳出 } if(isMinus) res *= -1; if(res < INT_MIN) res = INT_MIN; if(res > INT_MAX) res = INT_MAX; return (int)res; }}; 创作不易,欢迎打赏! 打赏 微信支付 支付宝 -------------本文结束感谢您的阅读-------------