[leetcode]经典算法题- String to Integer (atoi)
2016-07-29 21:56
411 查看
题目描述:
把字符串转化为整数值
原文描述:
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.思路分析:
首先判断为空,返回0考虑前面是空格,使用trim()去掉,然后判断长度是否为0,是的话,返回0
判断第一个字符是不是+和-,设置变量sign记录。
循环取得字符串的数字,考虑字符串中有非数字,遇到就退出,保留前面的数字
考虑溢出的情况,溢出返回Integer的最大值和最小值
代码实现:
public class Solution { public int myAtoi(String str) { //首先判断空值 if(str == null){ return 0; } //去掉空格的情况 str = str.trim(); if(str.length() == 0){ return 0; } int sign = 1; int index = 0; if(str.charAt(index) == '+'){ index++; }else if(str.charAt(index) == '-'){ index++; sign = -1; } //取得数字部分,遇到溢出和非数字退出 long number = 0; for(;index < str.length();index++){ if(str.charAt(index) < '0' || str.charAt(index) > '9'){ break; } number = number *10 + (str.charAt(index) - '0'); if(number >= Integer.MAX_VALUE){ break; } } if(number * sign >= Integer.MAX_VALUE){ return Integer.MAX_VALUE; } if(number * sign <= Integer.MIN_VALUE){ return Integer.MIN_VALUE; } return (int)number*sign; } }
我的微信二维码如下,欢迎交流讨论
欢迎关注《IT面试题汇总》微信订阅号。每天推送经典面试题和面试心得技巧,都是干货!
微信订阅号二维码如下:
相关文章推荐
- 【LeetCode-面试算法经典-Java实现】【008-String to Integer (atoi) (字符串转成整数)】
- 【LeetCode-面试算法经典-Java实现】【008-String to Integer (atoi) (字符串转成整数)】
- [leetcode]经典算法题- String to Integer (atoi)
- [leetcode]经典算法题- String to Integer (atoi)
- [leetcode]经典算法题- String to Integer (atoi)
- [leetcode]经典算法题- String to Integer (atoi)
- python写算法题:leetcode: 8. String to Integer (atoi)
- LeetCode Online Judge 题目C# 练习 - String to Integer (atoi)
- Leetcode : String to Integer (atoi)
- [leetcode] String to Integer (atoi)
- 【leetcode】String to Integer (atoi)
- leetcode String to Integer (atoi)Dec 27 '117626 / 35090
- leetcode 54: String to Integer (atoi)
- [leetcode]String to Integer (atoi)
- Leetcode: String to Integer (atoi)
- LeetCode-String to Integer (atoi)
- LeetCode - String to Integer (atoi)
- [Leetcode 15] 8 String to Integer (atoi)
- leetcode 54: String to Integer (atoi)
- 【leetcode】String to Integer (atoi)