zoukankan      html  css  js  c++  java
  • 面试题:把字符串转换为整数

    题目描述:将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。

    思路:从前到后判断

    1)是否有正负号

    2)是否有非数字字符

    3)是否溢出

    public class Solution {
        public int StrToInt(String str) {
            if(str==null) return 0;
            if(str.length()==0) return 0;
            int num=0;
            int flag=1;//默认是正数
            int len=str.length();
            for(int i=0;i<len;i++){
                if(i==0&&str.charAt(i)=='+'){
                    flag=1;
                }else if(i==0&&str.charAt(i)=='-'){
                    flag=0;
                }else if(str.charAt(i)>='0'&&str.charAt(i)<='9'){
                    num=num*10 + str.charAt(i) - '0';
                    //判断溢出
                    if(num>Integer.MAX_VALUE) return 0;
                }else{
                    return 0;
                }
            }
            //负数可以表示为0-num
            return  flag==1?num:-num;
        }
    }
  • 相关阅读:
    Park Visit
    1894: 985的方格难题
    985的数字难题
    Highways
    最短路
    SQL内容补充
    8.前端资源优化
    7.CSRF攻击和文件上传漏洞攻击
    6.XSS攻击方式及防御措施
    5.避免重复提交表单
  • 原文地址:https://www.cnblogs.com/Aaron12/p/9543543.html
Copyright © 2011-2022 走看看