题目描述:
将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。
输入输出描述:
输入一个字符串,包括字母、数字、符号,可以为空。如果是合法的数值表达则返回该数字,否则返回0。
解题思路:
本题解决起来并不困难,功能实现简单,但是主要的问题是能否把各种不同的特殊情况都考虑进去,也就是代码的鲁棒性和思考的全面,比如空指针、空字符串、正负号、溢出等等问题。
主要需要注意的点有以下几个:
- 字符串是否为null或者字符串是否为空字符串。
- 字符串对于正负号的处理,特别是正号,可能有也可能没有,但都代表正数
- 输入值是否合法,判断除首位可能为正负号外,其他位是否都是数字
- int为32位,最大的整数是刚刚超过21亿,也就是10位十进制数
- 使用错误标志,区分合法值0和非法值0
以下直接给出相应的代码实现。
编程实现(Java):
public class Solution {
public int StrToInt(String str) {
if(str==null || str.length()='0'&&c11) //最大整数是10位
return 0;
long res=0;
for(int i=1;i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?