LeetCode - 65. Valid Number
来源:互联网 发布:java框架cs通讯 编辑:程序博客网 时间:2024/05/20 20:46
这道题目的条件描述非常不清晰,要求就是找出全部可能为数字的情况。由于自己太渣....这道题看了一会儿就放弃了,LeetCode Discuss上面有人的解法非常好,这里叙述一下他的思想,应该是基于正则表达式的。
首先我们把给定的字符串前后的空格都去掉,因为无论前后有多少空格,只要它的主体部分是数字,我们也还是将它认为成数字。接下来进行一系列的判断:
代码如下:
public class Solution{ public boolean isNumber(String s){ s = s.trim(); boolean pointSeen = false; boolean eSeen = false; boolean numberSeen = false; boolean numberAfterE = true; 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; }}
知识点:
1. String.trim()的左右是新建一个字符串,这个新的字符串的内容是将原来字符串开头和结尾的空格都去掉
0 0
- LeetCode --- 65. Valid Number
- [Leetcode] 65. Valid Number
- [LeetCode]65.Valid Number
- Leetcode-65.Valid Number
- 【leetcode】65.Valid Number
- leetcode 65. Valid Number
- LeetCode 65. Valid Number
- Leetcode 65. Valid Number
- LeetCode 65. Valid Number
- LeetCode - 65. Valid Number
- [LeetCode] 65. Valid Number
- leetcode 65.Valid Number
- leetcode 65. Valid Number
- leetcode 65.Valid Number
- Leetcode--65. Valid Number
- leetcode-65. Valid Number
- Leetcode 65. Valid Number
- 【LeetCode】65. Valid Number
- "Activity"-安卓面试必问技能点大总结"
- js浮点数运算
- Centos 6.6 安装拼音输入法
- 外部引用js的两种手法
- 15 个 Android 通用流行框架大全
- LeetCode - 65. Valid Number
- 【JavaWeb开发】Windows系统中JDK环境的配置
- AndroidStudio多渠道打包
- unity 网格切割
- 【一天一道LeetCode】#114. Flatten Binary Tree to Linked List
- 用J-Link给开发板供电
- 跟我一起学Multiple View Geometry多视图几何(2)
- 调试 了解骨骼坐标变化
- elasticsearch从mysql导入数据