leetcode 50: Valid Number

来源:互联网 发布:美国大使馆pm2.5 知乎 编辑:程序博客网 时间:2024/04/28 18:50
Apr 2 '12Validate if a given string is numeric.

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

Note: It is intended for the problem statement to be ambiguous. You should gather all requirements up front before implementing one.

uncompleted.

 

 

class Solution {public:    bool isNumber(const char *s) {        // Start typing your C/C++ solution below        // DO NOT write int main() function        bool dec = false;        bool exp = false;        bool num = false;        bool space = false;                while( *s==' ') s++;                if( *s == '-' || *s == '+') {            s++;        }        char c;        while( (c=*s) != '\0' ) {            if( c==' ') {                while( *(++s)==' ');                if( *s == '\0') return num;                else return false;            } else if( c == '.') {                if(dec || !num || exp) {                    return false;                } else {                    dec = true;                    num = false;                }            } else if(c=='e' ) {                if(exp || !num) {                    return false;                } else {                    exp = true;                    num = false;                }            } else if( c>='0' && c<='9') {                num = true;            } else {                return false;            }                        s++;        }                return num;    }};


 

原创粉丝点击