8. String to Integer (atoi)(将输入的字符串转化为整数)
来源:互联网 发布:淘宝上购买飞行燃料 编辑:程序博客网 时间:2024/06/07 07:49
官网
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.
Update (2015-02-10):
The signature of the C++ function had been updated. If you still see your function signature accepts a const char * argument, please click the reload button to reset your code definition.
spoilers alert… click to show requirements for atoi.
Requirements for atoi:
The function first discards as many whitespace characters as necessary until the first non-whitespace character is found. Then, starting from this character, takes an optional initial plus or minus sign followed by as many numerical digits as possible, and interprets them as a numerical value.
The string can contain additional characters after those that form the integral number, which are ignored and have no effect on the behavior of this function.
If the first sequence of non-whitespace characters in str is not a valid integral number, or if no such sequence exists because either str is empty or it contains only whitespace characters, no conversion is performed.
If no valid conversion could be performed, a zero value is returned. If the correct value is out of the range of representable values, INT_MAX (2147483647) or INT_MIN (-2147483648) is returned.
题目大意
- 1.
" +123"
输出 123- 1.
" -123abcde"
输出 -123- 1.
" +abc123"
输出 0- 1.
" "
输出 0
解题思路
1.先去掉前面的空格,然后看有没有正负号,然后输出数字直到遇到非数字则停止。
AC代码(java)
package test;class Solution{ public int atoi(String str) { str = str.trim(); if(str.isEmpty()){ return 0; } int flag = 1; int i =0; if(str.charAt(i)=='+'){ i++; }else if(str.charAt(i)=='-'){ flag = -1; i++; } //提防result超出int范围 double result = 0.0; while(i<str.length()&&str.charAt(i)<='9'&&str.charAt(i)>='0'){ result = result*10 + str.charAt(i) - '0'; i++; } result = flag*result; if(result>Integer.MAX_VALUE){ return Integer.MAX_VALUE; } if(result<Integer.MIN_VALUE){ return Integer.MIN_VALUE; } return (int)result; }}public class test {public static void main(String[] args){ String a = new String(" -0000123"); Solution b = new Solution(); int c = b.atoi(a); System.out.println(c);}}
- 8. String to Integer (atoi)(将输入的字符串转化为整数)
- String to Integer (atoi) 将字符串转化成整数
- 【LeetCode】8. String to Integer (atoi) 字符串转换为整数
- leetcode:String to Integer (atoi) 字符串转化成整数
- String to Integer (atoi字符串转换为整数)
- 006-008-String to Integer(atoi) 字符串转换为整数
- String to Integer (atoi) 字符串转整数
- leetcode 8.String to Integer (atoi)-字符串转整数
- 8. String to Integer (atoi) (字符串转整数)
- 【2017.12.9】8.String to Integer(atoi) 字符串到整数
- 将字符串转换为整数 Convert the string to integer
- String to Integer (atoi) 转换string为整数@LeetCode
- 8. String to Integer (atoi) 对于输入情况的考察
- (LeetCode)String to Integer (atoi) --- ascii 转换为 整数
- LeetCode String to Integer (atoi) 字符串转换整数
- [LeetCode-8] String to Integer (atoi,字符串转成整数)
- leetcode8- String to Integer (atoi 字符串转整数)
- [Leetcode #8]String to Integer (atoi) 字符串转整数
- nginx-location及rewrite
- js字符串替换 - 无replaceAll替换所有字符串的解决方案
- 安装Sql Server Management Studio 出现的问题:哈希值不正确(0x80091007)
- Mfsmaster宕机时回复mfsmaster服务(至少两个节点)
- 将Eclipse代码导入到AndroidStudio的两种方式
- 8. String to Integer (atoi)(将输入的字符串转化为整数)
- oozie workflow.xml 综合案例
- HDU5895 Mathematician QSC(经典数论集合题)(一点点更新)
- SQLSERVER 解决SQLServer 2008安装时代理服务提供的凭据无效的方法
- Linux 下mysql安装
- Oracle序列
- 1.2.1. 标准输入与输出对象
- asdf
- 我的一个新的并行优化定理