【LeetCode】Valid Number
2014-06-18 21:18
211 查看
题目描述:
Validate if a given string is numeric.
Some examples:
Note: It is intended for the problem statement to be ambiguous. You should gather all requirements up front before implementing one.
需要考虑的情况比较多。各用一个变量标记是否已经出现过,分开讨论。注意出现e的时候数字重新计算就好。
代码:
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.
需要考虑的情况比较多。各用一个变量标记是否已经出现过,分开讨论。注意出现e的时候数字重新计算就好。
代码:
class Solution { public: bool isNumber(const char *s) { bool dot(false), e(false), num(false), blank(false), sig(false); while (*s == ' ') s++; while (*s){ if (*s == '.'){ if (dot || e || blank) return false; dot = true; } else if (*s == 'e'){ if (!num || e) return false; e = true; num = false; } else if (*s >= '0'&&*s <= '9'){ if (blank) return false; num = true; } else if (*s == ' ') blank = true; else if (*s == '+' || *s == '-'){ if (*(s - 1) != 'e' && (num || dot || sig)) return false; sig = true; } else return false; s++; } if (num) return true; else return false; } };
相关文章推荐
- LeetCode 65 Valid Number
- [LeetCode] 125: Valid Number
- 【Leetcode】【Hard】Valid Number
- [Leetcode] Valid Number (Java)
- LeetCode65——Valid Number(使用DFA)来判断字符串是否为数字
- [leetcode]Valid Number
- LeetCode: Valid Number
- [LeetCode] Valid Number
- leetcode8:Valid Number
- LeetCode_65---Valid Number
- LeetCode:valid Number
- [Leetcode][python]Valid Number
- [LeetCode] Valid Number
- leetcode-65. Valid Number
- leetcode_Valid Number
- [LeetCode] Valid Number
- leetcode:Valid Number
- leetcode-Valid Number
- leetcode-65 valid number
- leetcode第一刷_Valid Number