您的位置:首页 > 其它

[LeetCode] String to Integer(atoi)

2014-09-19 16:10 459 查看

String to Integer(atoi)

Implement atoi to convert a string to an integer.

Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possible input cases.

Notes: It is intended for this problem to be specified vaguely (ie, no given input specs). You are responsible to gather all the input requirements up front.

LeetCode: https://oj.leetcode.com/problems/string-to-integer-atoi/
题解:这道题总体来说还比较简单,不涉及算法;但需要考虑全面:字符串两边的空格,正负号,字符串的数值大小,是否超出整形所能表达的范围

public class Solution {
public int atoi(String str) {
if(str == null || str.length() == 0)
return 0;
double number = 0;
int flag = 1;
int i;
str = str.trim();
if(str.charAt(0) == '-'){
flag = -1;
str = str.substring(1);
}
else if(str.charAt(0) == '+'){
flag = 1;
str = str.substring(1);
}

for(i = 0;i < str.length(); i++){
if(str.charAt(i) >= '0' && str.charAt(i) <= '9'){
number = number*10 + (str.charAt(i) - '0');
}
else
break;
}
number = number * flag;
if(number > Integer.MAX_VALUE)
return Integer.MAX_VALUE;
if(number < Integer.MIN_VALUE)
return Integer.MIN_VALUE;

return (int) number;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: