LeetCode-Valid Number
来源:互联网 发布:淘宝新预订拒绝延期 编辑:程序博客网 时间:2024/05/17 03:16
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.
Solution:Code:
<span style="font-size:14px;">class Solution {public: bool isDigit(const char &c) { int temp = c - '0'; if ((0 <= temp) && (temp <= 9)) return true; return false; } bool isWithoutSign (const char *s, int &index) { int countE = 0; int countP = 0; bool containBlank = false; bool containDigit = false; bool containSign = false; bool beforeE = false; bool afterE = false; bool beforeP = false; bool afterP = false; for (int i = index; i < strlen(s); i++) { if (s[i] == 'e') { if (containBlank) return false; countE++; if (countE > 1) return false; } else if (s[i] == '.') { if (containBlank) return false; if (countE) return false; countP++; if (countP > 1) return false; } else if (isDigit(s[i])) { if (containBlank) return false; containDigit = true; if (!countP) beforeP = true; else afterP = true; if (!countE) beforeE = true; else afterE = true; } else if ((s[i] == '+') || (s[i] == '-')) { if (containBlank) return false; if (containSign) return false; if (s[i-1] != 'e') return false; containSign = true; } else if (s[i] == ' ') { containBlank = true; } else { return false; } } if ((countE) && (!(beforeE && afterE))) return false; if ((countP) && (!(beforeP || afterP))) return false; if (!containDigit) return false; return true; } bool isNumber(const char *s) { bool result = false; int index = 0; while ((s[index] == ' ')) { index++; } if ((s[index] == '+') || (s[index] == '-')) { index++; result = isWithoutSign(s, index); } else { result = isWithoutSign(s, index); } return result; }};</span>
0 0
- LeetCode: Valid Number
- LeetCode : Valid Number
- Leetcode: Valid Number
- [Leetcode] Valid Number
- leetcode 50: Valid Number
- [LeetCode] Valid Number
- 【leetcode】Valid Number
- [LeetCode]Valid Number
- [leetcode] Valid Number
- LeetCode | Valid Number
- LeetCode-Valid Number - 有限状态机
- leetcode Valid Number
- Leetcode: Valid Number
- 【leetcode】Valid Number
- Leetcode Valid Number
- LeetCode题解: Valid Number
- LeetCode Valid Number
- [Leetcode] Valid Number (Java)
- cocos2d-x ios游戏开发初认识(二)
- Linux常用命令之-网络通信
- iOS手势识别使用(拖动,缩放,旋转,点击,长按,滑动,自定义手势)等等
- 设计模式学习笔记二:简单工厂模式
- tcp/ip协议listen函数中backlog参数的含义
- LeetCode-Valid Number
- myeclipse中设置字体
- Length of Last Word
- 平生第一个用Java写的a+b(HDU 1000)简单题,好开心
- unique index与non-unique index的dump区别
- Perl语言学习笔记 7 正则表达式
- 属性和setter以及getter
- Google即将改变世界的九大项目
- JS验证通过之后才提交表单