美文网首页
表示数值的字符串

表示数值的字符串

作者: Hammy | 来源:发表于2018-02-03 00:02 被阅读0次

题目:
请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。

思路:
正确的数字表达式是+-在启示位置,小数点只出现依次,E后面的在重新验证.

代码:

/**
 * Created by Hammy on 2018/2/2.
 */
public class IsNumberIC {
    /**
     * @param str
     * @return
     */
    private int index = 0;
    public boolean isNumeric(char[] str){
        if(str == null || str.length == 0){
            return false;
        }
        boolean flag = scanInteger(str);
        //如果遇到小数点就验证在E之前只能是数字
        if(index < str.length && str[index] == '.'){
            index++;
            flag = scanUnsignedInteger(str);
        }
        //遇到E就重新在验证一次(e后面不能存在小数点)
        if(index < str.length && (str[index] == 'e' || str[index] == 'E')){
            index++;
            flag = scanInteger(str);
        }

        return flag && index == str.length;

    }
    //检查+-符号
    private boolean scanInteger(char[] str){
        if(index < str.length && (str[index] == '+' || str[index] == '-')){
            index++;
        }

        return scanUnsignedInteger(str);
    }
    //检查后面仅仅是数字
    private boolean scanUnsignedInteger(char[] str){
        int start = index;
        while (index < str.length && (str[index] >= '0' && str[index] <= '9'))
            index++;

        return start < index;
    }
}

相关文章

  • JZ-053-表示数值的字符串

    表示数值的字符串 题目描述 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100",...

  • LeetCode 每日一题 [52] 表示数值的字符串

    LeetCode 表示数值的字符串 [中等] 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字...

  • 算法实现

    题1:表示数值的字符串请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e...

  • Java小技巧

    1. 数值转字符串 使用空字符串连接数值会变成字符串 2. 数值太长友好表示 使用_分割数值,值不变 3.随机字符...

  • 《剑指 Offer (第 2 版)》第 20 题:表示数值的字符

    第 20 题:表示数值的字符串 传送门: 表示数值的字符串,牛客网 online judge 地址。 请实现一个函...

  • 实现一个函数判断字符串是否表示数值(包括整数和小数)

    实现一个函数判断字符串是否表示数值(包括整数和小数),例如,字符串'+100','5e2','-123'都表示数值...

  • 面试题20:表示数值的字符串

    题目:请实现一个函数用于判断字符串是否表示数值(包括整数和小数)。例如,字符串”+100“、”5e2“都表示数值,...

  • 表示数值的字符串

    题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-12...

  • 表示数值的字符串

    题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-12...

  • 表示数值的字符串

    题目描述   请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","...

网友评论

      本文标题:表示数值的字符串

      本文链接:https://www.haomeiwen.com/subject/onyyzxtx.html