0%

表示数值的字符串

请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+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':
}
}
}
}
};