• [leedcode 08]String to Integer (atoi)


    public class Solution {
        public int myAtoi(String str) {
            //此题需要注意的细节很多
            //1.对于“ -123”,“  +3231”,需要考虑去除最前的空格,主要利用循环
            //2.对于越界情况需要判断(此题返回的是32位最大正数或32位最小负数),声明返回值时,需要声明为long
            //3.要考虑“+”和无符号的处理
            //4.字符和数值的转换需要牢记s.charAt(i)-'0'
            //5.遇到非数值时,返回前面的数值
            
            if(str==null||str.length()==0)return 0;
            int i=0;
            int flag=0;
            long res=0;
            while(str.charAt(i)==' ')
                  i++;
            if(str.charAt(i)=='-'){
                flag=1;
                i++;
            }else if(str.charAt(i)=='+'){
                i++;
            }
                
            while(i<str.length()){
                //if(str.charAt(i)==' ')i++;
                
                    if(str.charAt(i)>='0'&&str.charAt(i)<='9'){
                        res=res*10+str.charAt(i)-'0';
                       if(flag==0&&res>0x7fffffff)return 0x7fffffff;
                       if(flag==1&&-res<0x80000000)return 0x80000000;
                    }else break;
                   
                i++;
                
            }
            if(flag==1) res=-res;
            return (int)res;
        }
    }
  • 相关阅读:
    OC拨打电话
    oc唯一标时一部设备
    去掉UITableView多余的分割线
    UICollectionView的使用
    设置ulabel的行间距
    uitextfield
    iOS导航栏适配
    App Store 升级问题
    mac中使用终端生成RSA私钥和公钥文件
    js document
  • 原文地址:https://www.cnblogs.com/qiaomu/p/4623203.html
Copyright © 2020-2023  润新知