个人记录-LeetCode 8.String to Integer (atoi)
来源:互联网 发布:酷宝数据 作假 编辑:程序博客网 时间:2024/05/29 16:21
问题
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.
思路极其简单,但没有约定何为真正有效的输入,实际上只能试错然后修改。
在现在这个时间点,服务器认为一个有效的字符串在前面可以出现空格;从非空格开始,可以用”+”、“-”后必须立即连接实际的数字。
代码示例:
public class Solution { public int myAtoi(String str) { if (str == null) { return 0; } char[] sChar = str.toCharArray(); int len = sChar.length; if (len <= 0) { return 0; } int beginIndex = 0; //跳过空格 for (int i = 0; i < len; ++i) { if (sChar[i] == ' ') { ++beginIndex; } else { break; } } boolean negative = false; //判断是否以+、-号开头 if (sChar[beginIndex] == '-') { negative = true; ++beginIndex; } else if (sChar[beginIndex] == '+') { ++beginIndex; } long result = 0; for (int i = beginIndex; i < len; ++i) { int temp = sChar[i] - '0'; //判断是否为数字,不是的话则结束解析 if (temp >=0 && temp <=9) { result = result * 10 + temp; if (result > Integer.MAX_VALUE) { if (negative) { return Integer.MIN_VALUE; } else { return Integer.MAX_VALUE; } } } else { break; } } if (negative) { result *= -1; } return (int)result; }}
0 0
- 个人记录-LeetCode 8.String to Integer (atoi)
- [LeetCode]8. String to Integer (atoi)
- LeetCode 8. String to Integer (atoi)
- 8. String to Integer (atoi) Leetcode Python
- 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 OJ> 8. String to Integer (atoi)
- leetCode 8. String to Integer (atoi)
- 8. String to Integer (atoi) LeetCode
- leetcode 8. String to Integer (atoi)
- leetcode 8. String to Integer (atoi)
- LeetCode OJ 8.String to Integer (atoi)
- Leetcode ☞ 8. String to Integer (atoi)
- 8. String to Integer (atoi) ---Leetcode
- leetcode 8. String to Integer (atoi)
- 面试编程题:(三)单链表
- 二叉树的反转镜像
- 敏捷开发学习总结(3): 思考开发文档的利与弊
- CF #374 div2 C 树状dp
- iOS6、7、8、9新特性汇总和适配说明
- 个人记录-LeetCode 8.String to Integer (atoi)
- LeetCode : Find Peak Element
- 类文件结构(二)
- js学习笔记(一)实现Bingo卡片
- 【C++ 学习】那些习以为常的背后之一从0开始的计数
- Android 自定义View绘图篇之基础
- JAVA IO
- oracle存储过程
- leetcode 327.Count of Range Sum