把字符串转换成整数

把字符串转换成整数

http://www.nowcoder.com/questionTerminal/1277c681251b4372bdef344468e4f26e

为防止溢出,把符号位和值位设为long,在求值的过程中如果long型超过了Integer.MAX,或者小于Integer.MIN返回0即可,否则强制类型转换int型返回。

public class Solution {
    public int StrToInt(String str) {
        if(str==null||str.length()==0)return 0;
        long flag=1;
        long sum=0;
        for(int i=0;i<str.length();i++){
            if(i==0 && str.charAt(i)=='+'){flag=1;continue;}
            if(i==0 && str.charAt(i)=='-'){flag=-1;continue;}
            if((str.charAt(i)-'0')>=10||(str.charAt(i)-'0')<0)
                 return 0;
            else{ 
                if(flag*(sum*10+str.charAt(i)-'0')>Integer.MAX_VALUE||flag*(sum*10+str.charAt(i)-'0')<Integer.MIN_VALUE){
                  return 0;}
                sum = sum*10+(str.charAt(i)-'0');
            }
           }
           return (int)(sum*flag);
}
}
全部评论
这个不能全部通过吧 楼主
点赞 回复 分享
发布于 2020-05-04 18:10

相关推荐

不愿透露姓名的神秘牛友
昨天 11:29
点赞 评论 收藏
分享
见见123:简历没有啥问题,是这个社会有问题。因为你刚毕业,没有工作经历,现在企业都不要没有工作经历的。社会病了。
点赞 评论 收藏
分享
小浪_Coding:找硬件测试,也可兼顾软测欧, 简历还可以的 ,注意排版,项目写的有条理一点, 然后个人技能多加点, 润色好简历之后就开始沟通海投了,深圳,东莞这边做硬件相关的公司还不少, 医疗类,仪器类的都可以尝试
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务