字符串转化为整数-分步处理

将字符串转化为整数

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

核心思想
1.找到首个不为零的首位 记为start
2.符号的判断量记为sign 默认为1 遇到- sign=-sign即可
3.非法字符判断 遇到asicii编码在0-9之外 直接break输出即可
4.输入为0 判断为null或者是空串

import java.util.*;
public class Solution {
    public int atoi (String str) {
        Stack<Integer> st = new Stack<Integer>();
        int output=0;
        int start=0;
        int sign=1;
        int post=0;
        char[]input=null;
      if(str==null||str.length()==0)
        return 0;
      else
        input=str.toCharArray();
        while(input[start]>57||input[start]<=48){
            if(input[start]==45)
            sign=-sign;
            start++;
        }
        for(int i=start;i<input.length;i++){
            if(input[i]>57||input[i]<48)
                break;
            st.push( Integer.parseInt(String.valueOf(input[i])));
        }
             while(!st.isEmpty()){
              output+=sign*st.pop()*Math.pow(10,post);
              post++;
             }
            return output;
    }
}
全部评论

相关推荐

团子 行业运营 n*15.5
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务