剑指 Offer 67. 把字符串转换成整数 + 字符串

剑指 Offer 67. 把字符串转换成整数

Offer_67

题目描述

题解分析

java代码

package com.walegarrett.offer;

/**
 * @Author WaleGarrett
 * @Date 2021/2/15 23:13
 */

/**
 * 题目描述:写一个函数 StrToInt,实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。
 */
public class Offer_67 {
    public int strToInt(String str) {
        str = str.trim();
        int len = str.length();
        if(str.length()==0)
            return 0;
        int res = 0;
        int over = Integer.MAX_VALUE / 10;
        int i=1,flag=1;
        if(str.charAt(0) =='-')
            flag=-1;
        else if(str.charAt(0)!='+')
            i=0;
        for(int j=i; j<len; j++){
            if(str.charAt(j)<'0' || str.charAt(j)>'9')
                break;
            if(res>over || res==over && str.charAt(j)>'7')
                return flag==1?Integer.MAX_VALUE:Integer.MIN_VALUE;
            res = res*10+(str.charAt(j)-'0');
        }
        return flag*res;
    }
}
posted @ 2021-02-15 23:29  Garrett_Wale  阅读(47)  评论(0编辑  收藏  举报