• leetcode之String to Integer (atoi)


    ‘’是c/c++语言中的字符串结束符,在ASCII字符集中对应数字0。

    java中不是。

    另外字符相减是ASSIC码相减

    0的ASSIC码是49

    这道题是剑指offer上的第49题,模拟了整个面试的过程。一定要注意代码的鲁棒性,边界条件以及空,或者特殊值

    下面附上AC代码,用java实现和书上的略不同,不过思想是一致的:

    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)=='-'){
                sign = -1;
                index++;
            }
            long num = 0;
            for(;index<str.length();index++){
                if(str.charAt(index)<'0'||str.charAt(index)>'9')
                    break;
                num = num*10 + (str.charAt(index)-'0');
                if (num > Integer.MAX_VALUE ) {
                    break;
                }
            }
               if (num * sign >= Integer.MAX_VALUE) {
                return Integer.MAX_VALUE;
            }
                if (num * sign <= Integer.MIN_VALUE) {
                return Integer.MIN_VALUE;
            }
            
            return (int)num * sign; 
            
        }
    

      

  • 相关阅读:
    docker运行爬虫代码
    python语法之流程控制(if while for)
    python基本数据类型
    python基本运算符
    python用户交互与格式化输出
    jieba模块基本介绍
    wordcloud库基本介绍
    计算机基础之编程语言
    计算机基础
    python入门之流程控制
  • 原文地址:https://www.cnblogs.com/gracyandjohn/p/4569905.html
Copyright © 2020-2023  润新知