Leetcode[easy] - Valid Number -待续~~~坑坑的题目

来源:互联网 发布:python readline utf8 编辑:程序博客网 时间:2024/05/20 06:31

随后补上这个

------

public class Solution {
    public boolean isNumber(String s) {
    String s1=s.trim();
    if(s1.length()<1)
    return false;
    List<String> as = new ArrayList<>(); int i=0;
    if(s.charAt(0) == '+' ||s.charAt(0) == '-')
       i++;
    for(; i<s1.length(); i++){
    if(s1.charAt(i)==' '){
       if(i != 0 || i!=s1.length()-1)
         return false;
    continue;
    }
    if(i==0 && !isValidNumber(s1.charAt(i)) && !isValidPoint(s1.charAt(i))){
    return false;
    }
    if(!isValidNumber(s1.charAt(i)) && !isValidSignal(s1.charAt(i)))
      return false;
    if(isValidSignal(s1.charAt(i))){
    if(as.contains(""+s1.charAt(i)))
    return false;
    if(i==s1.length()-1 && !isValidPoint(s1.charAt(i)))
    return false;
    if(i<s1.length()-1 && isValidSignal(s1.charAt(i+1)))
    return false;
    as.add(""+s1.charAt(i));
    continue;
    }
    as.add(""+s1.charAt(i));
    }
    if(as.size()==1&&isValidPoint(as.get(0).charAt(0)))
      return false;
      
        return as!=null;
    }
    public boolean isValidNumber(char s){
    if(s == ' ')
    return false;
    return s<='9'&&s>='0';
    }
    public boolean isValidSignal(char s){
    return s=='e' || s=='E'||s=='.'; 
    }
    public boolean isValidPoint(char s){
        return s=='.';
    }
}

0 0
原创粉丝点击