这个代码会报错

class Solution {
public:
enum status {kvalid = ,kinvalid};
int now_status = kvalid;
int StrToInt(string str) {
now_status = kinvalid;
long long num = ;
int index = ;
bool minus = false;
if(str.size() != && str[index] != '\0'){
if(str[index] == '+'){
index++;
}
else if(str[index] == '-'){
minus = true;
index++;
}
if(str[index] != '\0'){
num = StrToIntCore(str,minus,index);
}
}
return int(num);
}
long long StrToIntCore(string str,bool minus,int index){
int length = str.size();
long long num = ;
int flag = minus ? - : ;
for(;index < length;index++){
if(str[index] >= '' && str[index] <= ''){
num = num* + flag * (str[index]-'');if(( num < 0x80000000) || ( num > 0x7FFFFFFF)){
num = ;
break;
}
}
else{
num = ;
break;
}
}
if(str[index] == '\0'){
now_status = kvalid;
}
return num;
}
};

修改为:

class Solution {
public:
enum status {kvalid = ,kinvalid};
int now_status = kvalid;
int StrToInt(string str) {
now_status = kinvalid;
long long num = ;
int index = ;
bool minus = false;
if(str.size() != && str[index] != '\0'){
if(str[index] == '+'){
index++;
}
else if(str[index] == '-'){
minus = true;
index++;
}
if(str[index] != '\0'){
num = StrToIntCore(str,minus,index);
}
}
return int(num);
}
long long StrToIntCore(string str,bool minus,int index){
int length = str.size();
long long num = ;
int flag = minus ? - : ;
for(;index < length;index++){
if(str[index] >= '' && str[index] <= ''){
num = num* + flag * (str[index]-'');
int xxxx= 0x80000000;
if(( num < xxxx) || ( num > 0x7FFFFFFF)){
num = ;
break;
}
}
else{
num = ;
break;
}
}
if(str[index] == '\0'){
now_status = kvalid;
}
return num;
}
};

或者修改为

class Solution {
public:
enum status {kvalid = ,kinvalid};
int now_status = kvalid;
int StrToInt(string str) {
now_status = kinvalid;
long long num = ;
int index = ;
bool minus = false;
if(str.size() != && str[index] != '\0'){
if(str[index] == '+'){
index++;
}
else if(str[index] == '-'){
minus = true;
index++;
}
if(str[index] != '\0'){
num = StrToIntCore(str,minus,index);
}
}
return int(num);
}
long long StrToIntCore(string str,bool minus,int index){
int length = str.size();
long long num = ;
int flag = minus ? - : ;
for(;index < length;index++){
if(str[index] >= '' && str[index] <= ''){
num = num* + flag * (str[index]-'');
if(( num < (signed int)0x80000000) || ( num > 0x7FFFFFFF)){
num = ;
break;
}
}
else{
num = ;
break;
}
}
if(str[index] == '\0'){
now_status = kvalid;
}
return num;
}
};

最新文章

  1. [Note] Build your SDL2 Environment in Visual Studio 2013 配置你的SDL2运行环境
  2. python3 入门 (四) 类与继承
  3. [工具]推荐一款查看dll依赖工具
  4. 递推DP URAL 1167 Bicolored Horses
  5. ios即时通讯客户端开发之-mac上搭建openfire服务器
  6. sql Server2005 master损坏处理
  7. IT讲师韩顺平:我为什么辞去百万年薪,自己创业?
  8. js模块,类,继承,命名空间,私有属性等相关概念梳理
  9. studio中集成.so文件的两种方式
  10. Repeater在无数据记录时显示暂无数据
  11. swift 3.0 基础练习 面向对象 类
  12. 听说图像识别很难,大神十行代码进行Python图像识别
  13. Get WMS Static GoodLocation By Dynamic SQL
  14. IDEA中文出现乱码解决(转)
  15. redis 配置 架构 基础
  16. centos7下opencv3的安装
  17. Linux U盘安装
  18. Oracle总结之plsql编程(基础九)
  19. iOS-----使用CFNetwork实现TCP协议的通信
  20. 20145311 《Java程序设计》第2周学习总结

热门文章

  1. redis初步学习 0
  2. java后台获取服务器相对路径,获取当前时间yyyyMMddHHmmssSSS
  3. maya2018安装失败如何卸载重装
  4. git使用笔记-提高篇-重置揭密
  5. 集合类中modCount字段的作用
  6. CRLF注入攻击
  7. [巩固C#] 二、什么是反射、反射可以做些什么
  8. mvn install报错
  9. 写英文bug的经验总结
  10. UIWindow及程序启动的过程