65. Valid Number
来源:互联网 发布:mysql my.ini配置 编辑:程序博客网 时间:2024/05/20 11:25
class Solution {
public:
bool isNumber(string s) {
if (s.size() == 0){ return false;}int len = s.size();int index = 0;while(index < len && s[index] == ' ') //去空格 index++;if (s[index] == '+' || s[index] == '-'){ index++;}if (index == len){ return false;}if(s[index] == '.'){ if(index+1 == len || s[index+1] <'0' || s[index+1] > '9') return false;}else if(s[index] >'9' || s[index] < '0') return false;bool numeric = true;scanDigits(s, index, len);if (index < len){ //for floats if (s[index] == '.') { index++; scanDigits(s, index, len); if (index < len && (s[index] == 'e' || s[index] == 'E') ) { numeric = isExponential(s, index, len); } } //for exponential else if (s[index] == 'e' || s[index] == 'E') { numeric = isExponential(s, index, len); } else if(s[index] != ' ') return false;}while(index < len && s[index] == ' ') index++;return numeric && index == len;
}
void scanDigits(const string &s, int &index, const int &len){ while (index < len && s[index] >= '0' && s[index] <= '9') { index++; }}bool isExponential(const string &s, int &index, const int &len){ if (s[index] == 'e' || s[index] == 'E') { index++; } if (index <len &&(s[index] == '+' || s[index] == '-')) { index++; } if (index == len || s[index] == ' ') { return false; } scanDigits(s, index, len); while(index < len && s[index] == ' ') index++; return index == len ? true : false;}
};
0 0
- LeetCode --- 65. Valid Number
- [Leetcode] 65. Valid Number
- [LeetCode]65.Valid Number
- 65. Valid Number
- Leetcode-65.Valid Number
- 65. Valid Number
- 【leetcode】65.Valid Number
- leetcode 65. Valid Number
- LeetCode 65. Valid Number
- Leetcode 65. Valid Number
- 65. Valid Number
- 65. Valid Number
- LeetCode 65. Valid Number
- LeetCode - 65. Valid Number
- 65. Valid Number
- [LeetCode] 65. Valid Number
- leetcode 65.Valid Number
- 65. Valid Number
- Oracle笔记1
- VC++6.0调试篇:定位临界区(critical section)导致的死锁
- 前端面试总结
- org.directwebremoting.dwrp.DefaultConverterManager - No converter found for 'com.ibatis.sqlmap.engi
- 【C++】int转string,double转string方法,string转int,string转double方法
- 65. Valid Number
- iOS获取设备型号、装置类型等
- 71. Simplify Path
- javaScript笔记(二十八) JSON
- Go语言基础:if,goto,for,switch
- #167 Add Two Numbers
- 写在第一篇的帖子
- irq_create_mapping
- setsockopt的作用