LeetCode―*Valid Number

2015-07-20 17:20:36 · 作者: · 浏览: 6

Validate if a given string is numeric.

Some examples:
"0" => true
" 0.1 " => true
"abc" => false
"1 a" => false
"2e10" => true

主要就是判断一个字符串是不是一个数字,这个题目不是很难,主要是要把所有的情况理清楚

首先有一些情况是允许的

1. 前后空格

2. "+","-"号

3. "1.", ".34","+.1"也被认为是正确的

然后就是常规的情况

比如出现两个 e 或者E 或者两个小数点是不对的,比如E后面没有数字是不对的

?

class Solution {
public:
    bool isNumber(const char *s) {
        if(s==NULL)
            return false;
        int i=0;
        int j=strlen(s)-1;
        while(s[i]==' ') i++;
        while(j>=0 && s[j]==' ') j--;
        if(i>j)
            return false;
            
        string str(s+i,j-i+1); //<初始化处理之后的字符串
        int e;
        bool hasE = false;
        for(int i=0;i
  
   '9')
                return false;
        return true;
    }
};
  


?

?