Leetcode 8 String to Integer (atoi)
来源:互联网 发布:linux用户权限文件 编辑:程序博客网 时间:2024/06/08 17:11
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.
问题本身的思路并不难,但是有很多需要考虑的细节
null, empty, space,sign, not digit and overflow
public class Solution { public int myAtoi(String str) { if(str == null || str.length() == 0){ return 0; } int index = 0; int sign = 1; while(str.charAt(index) == ' ' && index < str.length()){//空格 index++; } if(str.charAt(index) == '+' || str.charAt(index) == '-'){ sign = str.charAt(index) == '+' ? 1 : -1;//正负号 默认为正 index ++; } int total = 0; while(index < str.length()){ if(str.charAt(index) > '9' || str.charAt(index) < '0' ){//非数字的情况 break; } int digit = str.charAt(index) - '0'; if(Integer.MAX_VALUE/10 < total || Integer.MAX_VALUE/10 == total && Integer.MAX_VALUE %10 < digit)//注意overflow return sign == 1 ? Integer.MAX_VALUE : Integer.MIN_VALUE; total = 10 * total + digit; index ++; } return total * sign; }}
阅读全文
0 0
- LeetCode 8 - String to Integer (atoi)
- [LeetCode 8] String to Integer (atoi)
- leetcode 8STRING TO INTEGER (ATOI)
- Leetcode【8】:String to Integer(atoi)
- [leetcode 8] String to Integer (atoi)
- LeetCode(8) String To Integer(atoi)
- [leetcode 8] String to Integer (atoi)
- LeetCode 8:《String to Integer (atoi) 》
- leetcode.8---------------String to Integer (atoi)
- leetCode #8 String to Integer (atoi)
- [LeetCode Java] 8 String to Integer (atoi)
- leetcode 8 String to Integer (atoi)
- leetcode-8 String to Integer(atoi)
- LeetCode 8 String to Integer (atoi)
- LeetCode(8)String to Integer (atoi)
- LeetCode 8 - String to Integer (atoi)
- leetcode #8 String to Integer (atoi)
- String to Integer (atoi) - LeetCode 8
- PHP之mysqli的使用
- Fliter-----补6-16
- Servlet&JSP 第八章 自定义标签
- ssm(springmvc4+spring4+mybatis3)整合实战-个人博客系统-util介绍与开发首页
- vim命令
- Leetcode 8 String to Integer (atoi)
- 解读JavaScript之this
- Linux内核:关于中断你需要知道的【转】
- Windows服务编程之服务程序
- #Unity坐标系,向量,四元数(一)
- mysql:cannnot create file navicatdesignquery.sql.bak 系统找不到指定路径
- android 图片转换
- 路由器端口映射
- [Hdu 3046]Pleasant sheep and big big wolf