怎样只做自己的网站,app定制开发报价,网页设计大师,商业网站是什么意思链接#xff1a;
剑指 Offer 67. 把字符串转换成整数
题意#xff1a;
按规则将字符串转换成整数#xff0c;规则不详叙
解#xff1a;
字符串处理
实际代码#xff1a;
#includeiostream
#includecstring
#includeclimits
using namespac…链接
剑指 Offer 67. 把字符串转换成整数
题意
按规则将字符串转换成整数规则不详叙
解
字符串处理
实际代码
#includeiostream
#includecstring
#includeclimits
using namespace std;
int stringToint(string s)
{int ans0;for(int i0;is.size();i){if(s[i]||s[i]-){ansint(s[i]-0);}else ansans*10int(s[i]-0);}if(s[0]-) ans*-1;return ans;
}
void solveZero(string s)
{for(int i0;is.size();i){if(s[i]-||s[i]) continue;if(s[i]!0) break;else{s.erase(i,1);i--;}}if(s.empty()) s0;else if(s[0]) s.erase(0,1);
}
void NoSpace(string s)
{int pos1s.find_first_not_of( );int pos2s.find_last_not_of( );if(pos1!-1)ss.substr(pos1,pos2-pos11);
}
int strToInt(string str)
{NoSpace(str);if(str.empty()) return 0;string ans,iMinto_string(INT_MIN), iMaxto_string(INT_MAX);int zt0;for(int i0;istr.size();i){if(zt1)//状态1 数字或者点 状态0 - {if(str[i]||str[i]-)//只允许一个符号 {if(zt0) zt1;//进入状态1 else break;ans.push_back(str[i]);}else if(str[i]0str[i]9){ans.push_back(str[i]);zt1;//进入状态1 }else break;}}//coutansendl;solveZero(ans);coutansendl;if(ans.size()1(ans[0]||ans[0]-)) return 0;if(ans[0]-)//负{if(ans.size()iMin.size()) return INT_MIN;else if(ans.size()iMin.size()){if(ansiMin) return stringToint(ans);else return INT_MIN;}else return stringToint(ans);}else{if(ans.size()iMax.size()) return INT_MAX;else if(ans.size()iMax.size()){if(ansiMax) return stringToint(ans);else return INT_MAX;}else return stringToint(ans);}return 0;
}
int main()
{string s;getline(cin,s);int ansstrToInt(s);coutansendl;return 0;
}限制
我不道啊