博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
{面试题49} 把字符串转换成整数
阅读量:5066 次
发布时间:2019-06-12

本文共 1245 字,大约阅读时间需要 4 分钟。

From 剑指Offer 何海涛 著

#include 
#include
#include
bool g_valid = false;int StrToInt(const std::string& s) { long long res = 0ll; int n = s.size(); int i= 0; g_valid = true; while(i
(long)0x7fffffff || isNegative&& -res < (long)0x80000000) { g_valid = false; return 0; } } if(i< n) { g_valid = false; return 0; } return isNegative ? -res : res;}

测试集:

void test(const std::string &s, int n, bool valid) {    std::cout << std::boolalpha<< (StrToInt(s) == n && valid == g_valid) << std::endl;}int main(int argc, char* argv[]) {    test("", 0, false);    test("  ", 0, false);        test("+", 0, false);    test("-", 0, false);    test("123", 123, true);    test("+0", 0, true);    test("-0", 0, true);    test("+123", 123, true);    test("-123", -123, true);        test("abc", 0, false);    test("1a33", 0, false);        //有效的最大正整数, 0x7FFFFFFF    test("+2147483647", 2147483647, true);    test("+2147483648", 0, false);        //有效的最小负整数, 0x80000000    test("-2147483648", -2147483648, true);    test("-2147483649", 0, false);    return 0;}

 

转载于:https://www.cnblogs.com/long3216/p/4438234.html

你可能感兴趣的文章
WPF程序加入3D模型
查看>>
WPF中实现多选ComboBox控件
查看>>
读构建之法第四章第十七章有感
查看>>
android访问链接时候报java.net.MalformedURLException: Protocol not found
查看>>
dwz ie10一直提示数据加载中
查看>>
Windows Phone开发(4):框架和页 转:http://blog.csdn.net/tcjiaan/article/details/7263146
查看>>
Windows Phone Marketplace 发布软件全攻略
查看>>
Unity3D研究院之打开Activity与调用JAVA代码传递参数(十八)【转】
查看>>
语义web基础知识学习
查看>>
hexo个人博客添加宠物/鼠标点击效果/博客管理
查看>>
python asyncio 异步实现mongodb数据转xls文件
查看>>
单元测试、、、
查看>>
SVN使用教程总结
查看>>
JS 浏览器对象
查看>>
TestNG入门
查看>>
【ul开发攻略】HTML5/CSS3菜单代码 阴影+发光+圆角
查看>>
虚拟中没有eth0
查看>>
Unity 3D游戏开发学习路线(方法篇)
查看>>
BZOJ2049[Sdoi2008]Cave 洞穴勘测(LCT模板)
查看>>
vuex插件
查看>>