有效数字-LintCode
来源:互联网 发布:淘宝买化妆品可靠吗 编辑:程序博客网 时间:2024/04/30 21:18
给定一个字符串,验证其是否为数字。
样例:
“0” => true
” 0.1 ” => true
“abc” => false
“1 a” => false
“2e10” => true
思路:
考虑一些特例:
“.1” “1.” True ; “e1” “1e” False;
” 34 ” True;
“-8” “+.8” True;
“00009” True;
#ifndef C417_H#define C417_H#include<iostream>#include<string>using namespace std;class Solution {public: /* * @param s: the string that represents a number * @return: whether the string is a valid number */ bool isNumber(string &s) { // write your code here if (s.empty()) return false; int len = s.size(); int l = 0, r = len - 1; while (l < r) { if (s[l] == ' '&&s[r] == ' ') { ++l; --r; } else if (s[l] == ' '&&s[r] != ' ') { ++l; } else if (s[l] != ' '&&s[r] == ' ') { --r; } else { break; } } if (l == r) { if (!isdigit(s[l])) { return false; } } int flagP = 0, flagE = 0; for (int i = l; i <= r; ++i) { if (!isdigit(s[i]) && s[i] != '.'&&s[i]!='e'&&s[i]!='+'&&s[i]!='-') { return false; break; } if (i == l||i==r) { if (s[i] == 'e') { return false; break; } } if (i != l) { if (s[i] == '+' || s[i] == '-') { return false; break; } } if (s[i] == 'e') { if (flagE == 0) flagE = 1; else { return false; break; } } if (s[i] == '.') { if (flagP == 0) flagP = 1; else { return false; break; } } } return true; }};#endif
阅读全文
0 0
- LintCode:有效数字
- lintcode,有效数字
- lintcode 有效数字
- 有效数字-LintCode
- LintCode刷题:有效数字
- [Lintcode]Valid Number有效数字
- LINTCODE——有效数字(待改进)
- lintcode-有效回文字符串
- LintCode : 有效回文串
- LintCode-有效回文串
- lintcode --有效回文串
- 有效回文串,lintcode
- lintcode:有效回文串
- 有效回文串-LintCode
- 有效数字
- 有效数字
- 有效数字
- lintcode 有效的括号序列
- 面试问题记录
- 构造函数和成员函数
- 10月集训test4
- 二进制中1的个数(剑指Offer 第 11 题)
- 实验二 线性表综合实验之《双链表》
- 有效数字-LintCode
- 强制类型转化小结
- 数组操作中出现的 两种错误
- Linux上如何查看某个进程的线程
- mybatis中trim标签的作用
- 1.1 PCI&PCIE 配置寄存器访问
- Android Activity的生命周期及启动模式
- eclipse下修改javaWeb项目的运行地址
- 解决1452- Cannot add or update a child rowa foreign key constraint fails问题