题解 | #将字符串转化为整数#

将字符串转化为整数

http://www.nowcoder.com/practice/44d8c152c38f43a1b10e168018dcc13f

import java.util.*;


public class Solution {
    /**
     * 
     * @param str string字符串 
     * @return int整型
     */
    public int atoi (String str) {
        // write code here
        int sign = 1;
        boolean has = false;
        int ans =0, pop = 0;
        for(int i = 0; i < str.length(); ++i) {
            if(str.charAt(i) == '-' && !has) {
                sign = -1;
                has = true;
                continue;
            }
            if(str.charAt(i) == '+' && !has) {
                sign = 1;
                has = true;
                continue;
            }
            if(str.charAt(i) == ' ' && !has) {
                continue;
            }
            if(str.charAt(i) >= '0' && str.charAt(i) <= '9') {
                has = true;
                pop = str.charAt(i) - '0';
                if(ans * sign > Integer.MAX_VALUE / 10 || ans * sign == Integer.MAX_VALUE / 10 && pop * sign > 7) {
                    return Integer.MAX_VALUE;
                }
                if(ans * sign < Integer.MIN_VALUE / 10 || ans * sign == Integer.MIN_VALUE / 10 && pop * sign < -8) {
                    return Integer.MIN_VALUE;
                }
                ans = ans * 10 + pop;
            }else{
                return ans * sign;
            }
        }
        return ans * sign;
    }
}
全部评论

相关推荐

吐泡泡的咸鱼:我也工作了几年了,也陆陆续续面试过不少人,就简历来说,第一眼学历不太够,你只能靠你的实习或者论文或者项目经历,然后你没有论文,没有含金量高的比赛和奖项,只能看实习和项目,实习来说,你写的实习经历完全不清楚你想找什么工作?行研?数据分析?且写的太少了,再看项目,这些项目先不说上过大学读过研究生的都知道很水,然后对你想找的岗位有什么帮助呢?项目和实习也完全不匹配啊,你好像在努力将你所有的经历都放在简历里想表现你的优秀,但是对于你想找的岗位来说,有什么用呢?最后只能获得岗位不匹配的评价。所以你需要明白你想要找的岗位要求是什么,是做什么的,比如产品经理,然后再看你的经历里有什么匹配的上这个岗位,或者对这个岗位以及这个岗位所在的公司有价值,再写到你的简历上
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务