首页 > 代码库 > 关于string转整数
关于string转整数
又是leetcode的easy级别题,很基本的题目,却漏考虑很多情况,动手前一定要考虑清楚呀!!!
就当做锻炼写作能力吧,先上题目!
将文本转换成整数,注意一下几点:
1.文本里面第一个不为空白的字符应该为数字或‘+’、‘-’,否则返回0;
2.文本中数字后面的文本不影响结果;
3.转换后的值若超过了int的最值应返回最值。
上代码吧!
class Solution {public: int myAtoi(string str) { int start = 0; for (int i = 0; i!= str.length(); i++) { if (str[i] == ‘ ‘) start++; else break; } if(start>=str.length()) return 0; int p = 0,t=0; if (str[start] == ‘-‘) { start++; p = 1; } else if (str[start] == ‘+‘) start++; for (; start <str.length(); start++) { char m = str[start] - ‘0‘; if (m >= 0 && m <= 9) { if(t>INT_MAX/10) if(p==0) return INT_MAX; else return INT_MIN; t *= 10; if(p==0&&t>INT_MAX-m) return INT_MAX; else if(p!=0&&-t<(INT_MIN+m)) return INT_MIN; t += m; } else break; } return p==0?t:-t; }};
关于string转整数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。