剑指offer-字符串转化为数字
来源:互联网 发布:软件测试职位 编辑:程序博客网 时间:2024/06/05 14:44
问题
题目:[剑指offer-字符串转化为数字]
思路
这个题,思路倒是不难。考虑的情形比较多啊。
我遇见的主要bug:
1. 只有1个符号的情形
2. 由于负数的得到是正数进行转化,所以,别忘了最后的转化
3. 考虑-2147483648,先提取正数部分,2147483648,已经溢出了。所以,需要long long 存储。
4. 还有就是,字符串表示的数字有可能已经溢出了比如,+4212344212这样的数字。返回0.
代码
class Solution {public: int StrToInt(string str) { int sz = str.size(); if( !sz ) return 0; if(1==sz){ if( !isdigit(str[0]) ) return 0; } bool flg = true; for(int i = 0; i < sz; ++i){ if( 0 == i ){ if( !isdigit(str[i]) ){ if( str[0] == '-' ) flg = false; else if ( str[0] == '+' ) flg = true; else return 0; } } else{ if( !isdigit(str[i]) ) return 0; } } long long val; stringstream ss; if( flg ){ ss << str; ss >> val; } else{ ss << str.substr( 1, str.size() - 1 ); ss >> val; val *= -1; } // 加入对上溢以及下溢的判断 return (int)val; }};
阅读全文
0 0
- 剑指offer-将字符串转化为数字
- 剑指offer-字符串转化为数字
- 剑指offer:将字符串转化为整形
- 字符串转化为数字
- 字符串转化为数字
- 字符串转化为数字
- 剑指offer之字符串转换为数字
- Unicode-数字转化为字符串
- 字符串转化为数字函数
- 数字转化为字符串函数
- 字符串转化为数字函数
- 数字转化为字符串函数
- js字符串转化为数字
- 将字符串转化为数字
- 字符串转化为数字 aotf
- 将数字转化为字符串
- Nodejs -- 字符串转化为数字
- 函数:字符串转化为数字
- sloth安装使用
- 四个常用DOM方法(getElementById、getElementByTagName、getAttribute、setAttribute)
- 反射学习总结
- unix环境高级编程-自旋锁
- JS 全局变量 局部变量 与 hoisting
- 剑指offer-字符串转化为数字
- Java中对象的深复制(深克隆)和浅复制(浅克隆)介绍
- Android多线程编程技术之使用IntentService
- PAT 1067试密码
- mybatis-generator获取sqlServer字段注释并修改生成的实体类属性的注释
- 嵌入式Linux完全开发手册-------------Linux内核调试技术
- 进程编程基本函数
- react-native报错-Unable to resolve module ‘react’
- JVM虚拟机选项:Xms Xmx PermSize MaxPermSize区别