剑指offer — 字符串转换为整数
2017-12-14 08:19
274 查看
将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0
解题思路:这个题目虽然简单,但是要考虑各种edge case,十分考验代码的基本功
java
public class Solution {
public int StrToInt(String str) {
if (str == null || str.length() == 0) {
return 0;
}
boolean flag = true;
int count = 0;
while (count < str.length() && (str.charAt(count) == '-' || str.charAt(count) == '+')) {
if (str.charAt(count) == '-') {
flag = !flag;
}
count++;
}
long sum = 0;
for (int i = count; i < str.length(); i++) {
if (Character.isDigit(str.charAt(i))) {
sum = sum * 10 + str.charAt(i) - '0';
} else {
return 0;
}
}
return flag ? (int)sum : (int)-sum;
}
}
解题思路:这个题目虽然简单,但是要考虑各种edge case,十分考验代码的基本功
java
public class Solution {
public int StrToInt(String str) {
if (str == null || str.length() == 0) {
return 0;
}
boolean flag = true;
int count = 0;
while (count < str.length() && (str.charAt(count) == '-' || str.charAt(count) == '+')) {
if (str.charAt(count) == '-') {
flag = !flag;
}
count++;
}
long sum = 0;
for (int i = count; i < str.length(); i++) {
if (Character.isDigit(str.charAt(i))) {
sum = sum * 10 + str.charAt(i) - '0';
} else {
return 0;
}
}
return flag ? (int)sum : (int)-sum;
}
}
相关文章推荐
- 剑指offer--把字符串转换成整数
- 【剑指Offer面试编程题】题目1508:把字符串转换成整数--九度OJ
- 剑指offer-----将一个字符串转换成对应的整数(模拟atoi)
- 剑指offer——字符串转换为整数
- 剑指offer 49. 把字符串转换成整数
- 剑指Offer - 九度1508 - 把字符串转换成整数
- 剑指offer - 面试题49:把字符串转换为整数
- 【剑指Offer面试编程题】题目1508:把字符串转换成整数--九度OJ
- [剑指offer][面试题49]把字符串转换成整数(待完善)
- [剑指offer]把字符串转换成整数
- 【剑指offer】面试题67:把字符串转换成整数
- 剑指Offer-67:把字符串转换成整数
- 剑指offer——把字符串转换成整数
- 剑指offer面试题49 把字符串转换成整数 (java实现)
- 剑指offer(46)-把字符串转换成整数
- 剑指offer50题(把字符串转换成整数)
- 剑指offer 50 把字符串转换成整数
- 【剑指offer-Java版】49把字符串转换为整数
- 剑指offer——把字符串转换成整数
- 剑指offer--字符串转换为整数