zoukankan      html  css  js  c++  java
  • 剑指offer-表示数值的字符串

    题目描述

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

    注意:E或e后面不能为空,并且不能有小数点

    class Solution {
    public:
        bool isNumeric(char* string)
        {
            if(string==NULL){
                return false;
            }
            if(*string=='+' || *string=='-'){
                string++;
            }
            if(*string==''){
                return false;
            }
            int point=0,num=0,Ee=0;//记录. 数组 e是否出现过
            while(*string!=''){
                if(*string>='0' && *string<='9'){
                    string++;
                    num++;
                }
                else if(*string=='.'){
                    if(Ee>0 || point>0){
                        return false;
                    }
                    string++;
                    point++;
                }
                else if(*string=='E' || *string=='e'){
                    if(num==0 || Ee>0){
                        return false;
                    }
                    string++;
                    Ee++;
                    if(*string==''){
                        return false;
                    }
                    else if(*string=='+' || *string=='-'){
                        string++;
                    }
                }
                else{ //出现abc等字符
                    return false;
                }
            }
            return true;
        }
    
    };
  • 相关阅读:
    IDEA的JDBC报错解决
    java注解
    Java反射
    javaIO
    工程师的认知
    前端的一些性能提升
    ES6函数的扩展
    2020新年愿望
    高维护性的javascript
    Chrome Dev tools的几点小技巧
  • 原文地址:https://www.cnblogs.com/loyolh/p/12600346.html
Copyright © 2011-2022 走看看