Validate 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.
这一题蛮难的,首先有一个投机取巧的方法就是用Java的自带方法,这一题要求数的最后一位不能是" f " ,“ F ” " d" ," D " 代码如下:
public class Solution {
public boolean isNumber(String s) {
boolean flag = true;
double ss = 0;
try{
ss = Double.parseDouble(s);
}catch(Exception e){
flag = false;
}
return s.charAt(s.length()-1) != 'f' && s.charAt(s.length()-1) != 'd' && s.charAt(s.length()-1) != 'D'&& flag;
}
}
还有一种利用有限状态机的解法。。链接是http://blog.csdn.net/suwei19870312/article/details/12094233 我还没搞懂。。后续再看
11月2号更新~过了这么久,校招季也基本结束了,再回来看这道题
正统的解法就是 有限状态机 和 正则表达式两种~ 给大家推荐个微博吧,我就是在那里看懂的
有限状态机的: http://noalgo.info/995.html
正则表达式 : http://blog.csdn.net/hahawhyha/article/details/51333841 在文章的最后
好了~就酱紫吧