本文共 1317 字,大约阅读时间需要 4 分钟。
上面我们已经从整体与局部系统的分析了正确的组合方式,接下来我们就需要来开始思考如何实现算法。从上面的分析我们知道了,如果是空串直接返回false,否则我们先把串的前后空格先都删除干净,然后第一个字符必然是:+,-,小数点,数字,如果是其它直接返回false.否则我们要分情况来讨论:
接下来我们来进行代码实现:public class Solution { public boolean isNumber(String s) { //剔除空格 s = s.trim(); char[] chars = s.toCharArray(); int p = 0; if(chars.length==0){ return false; } if(!isNegative(chars[p])&&!isPoint(chars[p])&&!isPositive(chars[p])&&!isNumber(chars[p])){ return false; }else{ //绿色区域 if(isPositive(chars[p])||isNegative(chars[p])){ p++; if(p==chars.length){ return false; } } //蓝色区域 if(!isNumber(chars[p])&&!isPoint(chars[p])){ return false; }else{ if(isPoint(chars[p])){ p++; if(p==chars.length||!isNumber(chars[p])){ return false; }else{ p++; while(p='0'&&c<='9'){ return true; }else{ return false; } } /** * 判断是否是字符e */ boolean isE(char c){ if(c=='e'){ return true; }else{ return false; } }}
转载地址:http://colzi.baihongyu.com/