请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100",“5e2”,"-123",“3.1416"和”-1E-16"都表示数值。 但是"12e",“1a3.14”,“1.2.3”,"±5"和"12e+4.3"都不是。
词法、状态机
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| class Solution { public: bool isNumeric(char* string) { if (string == nullptr) { return false; } else { char *w = string; int state = 0; switch (state) { case 0: switch (*w) { case '-': case '+': state = 1; w++; break; case '0': } } } } };
|