leetcode 50: Valid Number
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;
}
};
浙公网安备 33010602011771号