博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LintCode-54.转换字符串到整数
阅读量:4317 次
发布时间:2019-06-06

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

实现atoi这个函数,将一个字符串转换为整数。如果没有合法的整数,返回0。如果整数超出了32位整数的范围,返回INT_MAX(2147483647)如果是正整数,或者INT_MIN(-2147483648)如果是负整数。

样例

"10" =>10

"-1" => -1
"123123123123123" => 2147483647
"1.0" => 1

标签

字符串处理 基本实现 优步

code

class Solution {public:    /**     * @param str: A string     * @return An integer     */    int atoi(string str) {        // write your code here        str = eraseSpace(str);        int size=str.size();        if(size <= 0)            return 0;        if(str[0]<='9' && str[0]>='0') {            int num=str[0]-'0', i, dec=str[0]-'0';            for(i=1; i
='0') { dec = num; num = num * 10; if(isCrossBorder(num, dec)) return 2147483647; dec = num; num += str[i]-'0'; if(isCrossBorder(num, dec)) return 2147483647; } else { return num; } } return num; } else if(str[0] == '+') { int num=0, i, dec=0; for(i=1; i
='0') { dec = num; num = num * 10; if(isCrossBorder(num, dec)) return 2147483647; dec = num; num += str[i]-'0'; if(isCrossBorder(num, dec)) return 2147483647; } else { return num; } } return num; } else if(str[0] == '-') { int num=0, i, dec=0; for(i=1; i
='0') { dec = num; num = num * 10; if(isCrossBorder(num, dec)) return -2147483648; dec = num; num += str[i]-'0'; if(isCrossBorder(num, dec)) return -2147483648; } else { return num*-1; } } return num*-1; } else { return 0; } } bool isCrossBorder(int num1, int num2) { if(num1 < num2) return true; return false; } string eraseSpace(string str) { int size=str.size(),i=0,mark=0; string result; for(i=0; i

转载于:https://www.cnblogs.com/libaoquan/p/6808151.html

你可能感兴趣的文章
mysql数据库存放路径
查看>>
TestNG(五)常用元素的操作
查看>>
解决 Visual Studio 点击添加引用无反应的问题
查看>>
通过镜像下载Android系统源码
查看>>
python字符串格式化 %操作符 {}操作符---总结
查看>>
windows 不能在 本地计算机 启动 Apache
查看>>
iOS开发报duplicate symbols for architecture x86_64错误的问题
查看>>
Chap-6 6.4.2 堆和栈
查看>>
【Java学习笔记之九】java二维数组及其多维数组的内存应用拓展延伸
查看>>
C# MySql 连接
查看>>
div+css教程网站建设门户网站和电子商务网站CSS样式表
查看>>
sk_buff Structure
查看>>
oracle的级联更新、删除
查看>>
多浏览器开发需要注意的问题之一
查看>>
Maven配置
查看>>
HttpServletRequest /HttpServletResponse
查看>>
SAM4E单片机之旅——24、使用DSP库求向量数量积
查看>>
从远程库克隆库
查看>>
codeforces Unusual Product
查看>>
hdu4348 - To the moon 可持久化线段树 区间修改 离线处理
查看>>