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.
Update (2014-12-06):
New test cases had been added. Thanks unfounder's contribution.
class Solution { public: bool isNumber(const char *s) { if(s==NULL)return false; while(*s==' ')s++; if(*s=='+'||*s=='-') s++; bool dotAppear=false; bool spaceAppear=false; bool eAppear=false; bool firstAppear=false; bool secondAppear=false; while(*s!='