LeetCode
来源:互联网 发布:sql误修改数据恢复 编辑:程序博客网 时间:2024/05/29 16:30
感谢@balint 提高思路
问题
Validate if a given string is numeric.
Some examples:
“0” => true
” 0.1 ” => true
“abc” => false
“1 a” => false
“2e10” => true
问题思路
- 利用四个flag 标定不同的情况组合,
pointSeen
eSeen
numberSeen
numberAfterE
。 - 纯数字模式下,设置
numberSeen
numberAfterE
。 - 当存在
.
情况下,不允许出现再出现e
.
。 - 当碰到
e
后,将numberAfterE
重置为false
。 +
-
只允许出现在开始位置
java代码
public class Solution { public boolean isNumber(String s) { s = s.trim(); boolean pointSeen = false; boolean eSeen = false; boolean numberSeen = false; boolean numberAfterE = false; for (int i = 0; i < s.length(); i++){ if ('0' <= s.charAt(i) && s.charAt(i) <= '9'){ numberSeen = true; numberAfterE = true; } else if (s.charAt(i) == '.'){ if (eSeen || pointSeen){ return false; } pointSeen = true; }else if (s.charAt(i) == 'e'){ if (eSeen || !numberSeen) return false; numberAfterE = false; eSeen = true; } else if (s.charAt(i) == '-' || s.charAt(i) == '+'){ if (i != 0 && s.charAt(i-1) != 'e') return false; } else { return false; } } return numberSeen && numberAfterE; }}
阅读全文
0 0
- leetcode
- [leetcode]
- LeetCode
- leetcode
- leetcode
- leetcode:
- leetcode:
- LeetCode
- leetcode
- LEETCODE
- leetcode
- leetCode
- leetcode
- [leetcode]
- LeetCode
- leetcode
- leetcode:
- leetcode
- 使用Mycat操作Oracle数据库(五) -- SQL拦截
- 象棋 (Xiangqi, ACM/ICPC Fuzhou 2011, UVa1589)
- android 通过url访问对应的应用
- 设计模式(对象创建)——抽象工厂模式
- vue2.0 路由不显示router-view
- LeetCode
- vso downloader怎么安装?安装步骤+视频下载方法【图】
- nginx安装 nginx: [emerg] getpwnam(“www-data”) failed 错误
- Thinking in java-10 对象创建和生命周期
- 三级联动
- 移动端手势事件 hammer.JS插件
- word利用mathtype进行公式分章节编号和引用
- 最简单的完整策略
- 清空form表单数据的两种方式