【leetcode】【8】String to Integer (atoi)
2016-02-27 10:35
435 查看
一、问题描述
Implement atoi toconvert a string to an integer.
二、问题分析
字符串转换为正数。需要注意①溢出(在处理正数的时候必须首先考虑的问题)②正负③非数字字符④先导空格。时间复杂度为O(n)。三、Java AC代码
public int myAtoi(String str) {if (str == null) {
return 0;
}
str = str.trim();
if (str.length() == 0)
return 0;
boolean isNeg = false;
int i = 0;
if (str.charAt(0) == '-' || str.charAt(0) == '+') {
i++;
if (str.charAt(0) == '-')
isNeg = true;
}
long res = 0;
while (i < str.length()) {
if (str.charAt(i) < '0' || str.charAt(i) > '9')
break;
int digit = (int) (str.charAt(i) - '0');
res = res * 10 + digit;
if (isNeg && -res < Integer.MIN_VALUE )
return Integer.MIN_VALUE;
else if (!isNeg && res > Integer.MAX_VALUE)
return Integer.MAX_VALUE;
i++;
}
return (int) (isNeg ? -res : res);
}
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树