1. 剑指Offer 把字符串转换成整数
题目描述:
将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。
输入描述:
输入一个字符串,包括数字字母符号,可以为空
输出描述:
如果是合法的数值表达则返回该数字,否则返回0
解题步骤:
我们可以遍历字符串,得到每个字符的值再依次加起来就可以得到整个整数了sum = sum*10 + num。
(1)首先我们需要先判断第一个字符是否是"+“或者”-"
(2)我们判断该字符是否是一个数字,如果不是数字就返回0
(3)对于数字的字符我们必须要判断当前和是否越界,是否超出了整数的范围。
(4)对于判断是否超出整数范围,不能直接判段 sum > Integer.MAX_VALUE,因为如果sum越界,这个判断就会返回false无效,我们可以通过以下来判断:
num1 > Integer.MAX_VALUE - num2 //判断是否溢出最大值
num1 < Integer.MIN_VALUE - num2 //判断是否溢出最小值
代码:
public int StrToInt(String str) {
if(str.length() < 1)
return 0;
int sum = 0;
int flag = 1;
for