zoukankan      html  css  js  c++  java
  • 字符串转化为整数

    题目:

    字符串转换为整数 : atoi

    可能的输入:
    1 带符号数
    2 无符号数
    3 零
    4 空指针
    5 超出表示范围 – 暂时仅仅是直接退出且设置最小 – 可以考虑此时抛个异常
    6 非法输入,比如并不是一个0-9或者+ -组成的字符串 – 对于非法输入一律返回的是Integer.MIN_VALUE

    解答:

     1 public class Solution {
     2 
     3     public static long strToInt(String str) {
     4         if(str == null) {
     5             return Long.MIN_VALUE;
     6         }
     7 
     8         if(str.length() == 0) {
     9             return 0;
    10         }
    11 
    12         for(int i = 0; i < str.length(); i++) {
    13             if(!judge(str.charAt(i))) {
    14                 return Long.MIN_VALUE;
    15             }
    16         }
    17 
    18         char[] chars = str.toCharArray();
    19         long result = 0;
    20 
    21         if(char[0] == '+' || char[0] == '-') {
    22             result = trans(str.substring(1));
    23         } else {
    24             result = trans(str);
    25         }
    26 
    27         if(result > 0 && char[0] == '-') {
    28             result = -result;
    29         }
    30 
    31         return result;
    32     }
    33 
    34     public static boolean judge(char c) {
    35         if(c == '+' || c == '-' || (c >= '0' && c <= '9')) {
    36             return true;
    37         } else {
    38             return false;
    39         }
    40     }
    41 
    42     private static long trans(String str) {
    43         if(str.length() == 0) {
    44             return 0;
    45         }
    46 
    47         long result = 0;
    48         for(int i = 0; i < str.length(); i++) {
    49             result = result*10 + str.charAt(i)-'0';
    50 
    51             // important here
    52             if(result > Long.MAX_VALUE) {
    53                 result = Long.MAX_VALUE;
    54                 break;
    55             }
    56         }
    57 
    58         return result;
    59     }
    60 }

  • 相关阅读:
    python 装饰器
    python操作hbase
    python 数据压缩
    JsonSchema 启蒙
    python在webservice接口测试中的应用
    简单的python http接口自动化脚本
    解决python2安装MySQL-python模块报错
    实用小工具推荐(一)
    linux和mac使用virtualenv使用和安装
    少年,来点正能量吧!
  • 原文地址:https://www.cnblogs.com/wylwyl/p/10477256.html
Copyright © 2011-2022 走看看