我是靠谱客的博主 孤独月饼,最近开发中收集的这篇文章主要介绍LeetCode 008 String to Integer (atoi) - Java,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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;
  • 从头开始读取,读到‘ ’字符均舍弃,一直读到有内容为止;
  • 第一个读到内容如果不是数字或者-或+,返回0;
  • 如果第一个是+-号,第二个还是,返回0;
  • 如果第一个的+-号,第二个是数字或者如果第一个就是数字,开始计数;
  • 如果计数时超出int_32bit范围,返回范围界限的值;
  • 读到结束或者读不到数字了将计数返回。

 

Java实现:

 1 public class Solution {
 2     public int myAtoi(String str) {
 3         int len= str.length();
 4         int index=0;
 5         Character now;
 6         boolean flag = false;
 7         long re=0;
 8         if(len<=0) return 0;
 9         while(str.charAt(index)==' ') {
10             index++;
11             if(index>=len) return 0;
12         }
13         now=str.charAt(index);
14         if(now=='-'||now=='+'||(now<='9'&&now>='0')) {
15             if((now<='9'&&now>='0')) {}
16             else{
17                 if(now=='-') flag = true;
18                 index++;
19                 if(index>=len) return 0;
20                 now=str.charAt(index);
21                 if((now<='9'&&now>='0')) {}
22                 else return 0;
23             }
24         }else return 0;
25         while(index<len){
26             now=str.charAt(index);
27             if(now<='9'&&now>='0') {
28                 re=re*10+(str.charAt(index)-'0');
29                 if(re>=Integer.MAX_VALUE||re<=Integer.MIN_VALUE) break;
30             }else break;
31             index++;
32         }
33         if(flag==true) {
34             re=-re;
35             re=re<Integer.MIN_VALUE?Integer.MIN_VALUE:re;
36         }else {
37             re=re>Integer.MAX_VALUE?Integer.MAX_VALUE:re;
38         }
39         return (int)re;
40     }
41 }

 

转载于:https://www.cnblogs.com/zaritiy/p/7040480.html

最后

以上就是孤独月饼为你收集整理的LeetCode 008 String to Integer (atoi) - Java的全部内容,希望文章能够帮你解决LeetCode 008 String to Integer (atoi) - Java所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部