牛客网刷题之把字符串转换成整数
来源:互联网 发布:我的第一本编程书 编辑:程序博客网 时间:2024/04/26 18:36
题目描述:
解题思路:
首先要判断字符串是否有效,如果为空就直接返回false即可,如果是非空就判断是否含有非数字字符。需要注意的是:字符串首字符为“+”和“-”的情况。接着就是正常计算了,以”345”作为例子。当我们扫描到字符串的第一个字符’3’时,我们不知道后面还有多少位,仅仅知道这是第一位,因此此时得到的数字是3。当扫描到第二个数字’4’时,此时我们已经知道前面已经一个3了,再在后面加上一个数字4,那前面的3相当于30,因此得到的数字是3*10+4=34。接着我们又扫描到字符’5’,我们已经知道了’5’的前面已经有了34,由于后面要加上一个5,前面的34就相当于340了,因此得到的数字就是34*10+5=345。因此,计算思路是,每扫描一个字符,将之前得到的结果乘以10加上当前扫描字符表示的数字。
题解:
public int StrToInt(String str) { if ("".equals(str)) { return 0; } int result = 0; if (str.charAt(0) == '-' || str.charAt(0) == '+') { for (int i = 1; i < str.length(); i++) { if (str.charAt(i) < '0' || str.charAt(i) > '9') { return 0; } result = result * 10 + (str.charAt(i) - '0'); } if (str.charAt(0) == '-') { result = 0 - result; } } else { for (int i = 0; i < str.length(); i++) { if (str.charAt(i) < '0' || str.charAt(i) > '9') { return 0; } result = result * 10 + (str.charAt(i) - '0'); } } return result; }
ac结果:
0 0
- 牛客网刷题之把字符串转换成整数
- 把字符串转换成整数
- 把字符串转换成整数
- 把字符串转换成整数
- 把字符串转换成整数 .
- 把字符串转换成整数
- 把字符串转换成整数
- 把字符串转换成整数
- 把字符串转换成整数
- 把字符串转换成整数
- 把字符串转换成整数
- 把字符串转换成整数
- 把字符串转换成整数
- 把字符串转换成整数
- 把字符串转换成整数
- 把字符串转换成整数
- 把字符串转换成整数
- 把字符串转换成整数
- HDU 1215 七夕节 【约数和定理&&唯一分解定理(模板)】
- OS 需要注意的常规问题
- ruby--微信开发(接入服务器)
- HDU ACM 11 2086 A1 = ?
- Java资料总结(全)
- 牛客网刷题之把字符串转换成整数
- 安卓数据库约束性问题
- ios错误汇总1:codesign failed with exit code 1
- android eclipse lint删除无用资源文件
- hadoop写文件流程分析
- 恢复 git reset -hard 的误操作
- ubuntu16.04安装Adobe Flash Player插件
- eclipse中一些常见问题的解决方法
- 常用图像数据集大全(分类,跟踪,分割,检测等)