兼容E问题
来源:9-3 LeetCode:65. 有效数字

谦瑞
2022-03-26
老师,查到的是用toLowerCase()方法,但是在这里具体怎么使用呢。
/**
-
@param {string} s
-
@return {boolean}
*/
var isNumber = function(s) {
const graph = {
0:{‘blank’:0, ‘sign’:1, ‘.’:2, ‘digit’:6},
1:{‘digit’:6, ‘.’:2},
2:{‘digit’:3},
3:{‘digit’:3, ‘e’:4},
4:{‘digit’:5, ‘sign’:7},
5:{‘digit’:5},
6:{‘digit’:6, ‘.’:3, ‘e’:4},
7:{‘digit’:5}
};let state = 0;
for(c of s.trim()){
if(c >= ‘0’ && c<=‘9’){
c = ‘digit’;
}else if(c === ’ ‘){
c = ‘blank’;
}else if(c===’+’ || c===’-’){
c = ‘sign’;
}
state = graph[state][c];
if(state === undefined){
return false;
}
}
if(state === 3 || state === 5 || state === 6){
return true;
}
return false;
};
尝试了人家讲的几种方法,都报错了,求指导。
写回答
1回答
-
把s变成小写,或者在状态机里所有e的地方同时加个大写E,值跟e保持一致
032022-03-26
相似问题