您的位置:首页 > 其它

[LeetCode]65 Valid Number

2015-01-04 09:55 1421 查看
https://oj.leetcode.com/problems/valid-number/
http://blog.csdn.net/linhuanmars/article/details/23809661
public class Solution {
public boolean isNumber(String s)
{
if (s == null)
return false;
s = s.trim();
if (s.isEmpty())
return false;

boolean dotFlag = false;
boolean eFlag = false;
for(int i = 0 ; i < s.length() ; i ++)
{
switch(s.charAt(i))
{
case '.':
{
if(dotFlag || eFlag
|| ((i==0||!(s.charAt(i-1)>='0'&&s.charAt(i-1)<='9'))
&& (i==s.length()-1||!(s.charAt(i+1)>='0'&&s.charAt(i+1)<='9'))))
return false;
dotFlag = true;
break;
}
case '+':
case '-':
{
if((i>0 && (s.charAt(i-1)!='e' && s.charAt(i-1)!='E'))
|| (i==s.length()-1 || !(s.charAt(i+1)>='0'&&s.charAt(i+1)<='9'||s.charAt(i+1)=='.')))
return false;
break;
}
case 'e':
case 'E':
{
if(eFlag || i==s.length()-1 || i==0)
return false;
eFlag = true;
break;
}
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
break;
default:
return false;
}
}
return true;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  LeetCode