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;
            
        }
    }
  • 相关阅读:
    P2572 [SCOI2010]序列操作
    python学习笔记2
    嗯,python
    ETROBOT——审题
    条件编译
    第三章单片机简介
    模拟输入输出
    arduino库函数1
    arduino相关文献阅读
    Arduino的小灯亮起来~~~
  • 原文地址:https://www.cnblogs.com/wxisme/p/4384729.html
Copyright © 2011-2022 走看看