leetcodeProblem8 String to Integer解题报告
来源:互联网 发布:网络代销哪家好 编辑:程序博客网 时间:2024/06/12 08:32
这一题核心解法很容易,只要读出每个字符,减去'0',得出真实int值,再进行累加res = res*10+strnum就可以了
这题主要是细枝末节要考虑很多
1.去除字符串 前面的空白符
2.如果有+-号,只能有一个,如果两个都有,认为无效,返回 0
3.如果字符串所代表的值,超出int 32位的表示界限,返回各自的极值,达到max,返回int32_max,达到min,返回int32_min
解题方法:
空白符号,用str.erase(0, str.find_first_not_of(" "));这个函数解决
+-号,trim后,首先判断符号,定义一个int flag,表示正负
之后判断字符串是否包含数字,如果有,通过自增的形式 得到长度len ,
一旦读取到非数组字符,立即break,
(同时判断是否有+-号,如果还有,直接返回 0)用
str = str.substr(0,len)获取字符数字子串
之后进行解析计算。
代码:
string trim(string str) {str.erase(0, str.find_first_not_of(" "));return str;}int myAtoi(string str) {int len = 0;int res = 0;int flag = 1;str = trim(str);if (str[0] == '+') str = str.substr(1);else if (str[0] == '-') {str = str.substr(1);flag = -1;}for (auto strnum : str) {if (strnum == '+' || strnum == '-') return 0;if (strnum >'0' && strnum <'9') {len++;}else{str = str.substr(0,len);break;}}if (str == "") return 0;for (auto strnum : str) {int temp = res * 10 + (strnum - '0');if ((temp-(strnum - '0'))/10!=res||temp<0) {if (flag == 1) return INT32_MAX;else return INT32_MIN;}else{res = temp;}}return res*flag;}
阅读全文
0 0
- leetcodeProblem8 String to Integer解题报告
- 【LeetCode】String to Integer (atoi) 解题报告
- LeetCode解题报告--String to Integer (atoi)
- LeetCode-String to Integer (atoi) -解题报告
- [LeetCode] String to Integer (atoi) 解题报告
- String to Integer (atoi)解题报告
- [LeetCode] String to Integer (atoi) 解题报告
- String to Integer (atoi) LeetCode 解题报告
- [leetcode] 8. String to Integer (atoi) 解题报告
- [Leetcode] 8. String to Integer (atoi) 解题报告
- leetcode解题报告8. String to Integer (atoi)
- [LeetCode 解题报告]008.String to Integer (atoi)
- LeetCode(8) String to Integer (atoi)解题报告
- [LeetCode]Roman to Integer,解题报告
- [LeetCode]Integer to Roman,解题报告
- Integer to Roman ——解题报告
- Roman to Integer ——解题报告
- LeetCode解题报告--Integer to Roman
- springMVC跨域问题
- restful 风格api
- 人工智能工具列表
- 纯css自定义radio,checkbox样式,提高用户体验
- HightCharts使用详解
- leetcodeProblem8 String to Integer解题报告
- lambda 分类抽取N条
- PHP OB-缓冲区
- eclipse debug断点进不去的问题
- 鸢尾花分类预测数据分析
- 项目总结-技术点:将接口获取html代码段,初始到页面
- python sklearn.metrics roc_curve
- 鑫飞推出新一代微信照片打印广告机
- 构建SpringBoot工程 -入门篇(搭建springboot工程)