zoukankan      html  css  js  c++  java
  • LeetCode

      

         把所给的字符串按照规定转化成相应的数字。要考虑溢出的情况,含有非法字符的情况,数字前有空格的情况。但是还是比较简单的。

        

    public class Solution {
        public int atoi(String str) {
            
            StringBuilder s = new StringBuilder(str.trim());
            if(s.length() == 0)
                    return 0;
                int flag1 = 0, flag2 = 0; // +   -
                long ans = 0;
                int i = 0;
                if(s.charAt(i) == '+') {
                    flag1 ++;
                    i ++;
                } 
                else if(s.charAt(i) == '-') {
                    flag2 ++;
                    i ++;
                }
                
                
                for(;i<s.length(); i++) {
                    if(s.charAt(i)>='0' && s.charAt(i)<='9') {
                        if(flag2 == 1) {
                            ans = -(s.charAt(i) - '0');
                            flag2 ++;
                        }
                        
                    else if(flag2 == 2) {
                            ans = ans * 10 - (s.charAt(i) - '0');
                            if(ans < -2147483648L)
                                return -2147483648;
                            
                        }
                        else {
                            ans = ans * 10 + (s.charAt(i) - '0');
                            if(ans > 2147483647L)
                                return 2147483647;
                        }
                    }
                    else break;
                }
                
                return (int)ans;
            
        }
    }
  • 相关阅读:
    mysql 索引
    redis持久化
    redis发布订阅
    django 信号
    paramiko模块
    23种设计模式python实现
    几种浏览器存储数据的方式
    关于传参
    对字符串里的四则运算进行计算2020/10/12
    动手动脑2020/10/9
  • 原文地址:https://www.cnblogs.com/wxisme/p/4384729.html
Copyright © 2011-2022 走看看