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

将字符串转化为整数

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

我个人偏向用ACSII值转换成数学问题。

去首尾空格

首字符判断正负

非正负字符过滤首字母0

import java.util.*;


public class Solution {
    /**
     * 
     * @param str string字符串 
     * @return int整型
     */
    public int atoi (String str) {
        // write code here
        str=str.trim();
        //创建一个字符串对象
        //ASCII 48-57 为数字 43 + 45 -
        boolean fs=false;
        String retStr="";
        for(int x=0;x<str.length();x++){
            int a =(int)str.charAt(x);
            if(retStr.length()==0){
                if(a==43){
                    continue;
                }
                if(a==45){
                    fs=true;
                    continue;
                }
            }
            if(a>=48 && a<=57 ) {
                if(!(a==48 && retStr.length()==0)){
                    retStr+=(a-48);
                }
                continue;
             }
             break;
        }
        if("".equals(retStr)){
            return 0;
        }
        return fs==true?0-Integer.valueOf(retStr):Integer.valueOf(retStr);
    }
}
全部评论

相关推荐

09-25 10:34
东北大学 Java
多面手的小八想要自然醒:所以读这么多年到头来成为时代车轮底下的一粒尘
点赞 评论 收藏
分享
杨柳哥:这不是普通人,那这个钱的是天才
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务