• leetcode 65 Valid Number ----- java


    Validate if a given string is numeric.

    Some examples:
    "0" => true
    " 0.1 " => true
    "abc" => false
    "1 a" => false
    "2e10" => true

    Note: It is intended for the problem statement to be ambiguous. You should gather all requirements up front before implementing one.

    这道题题目意思很简单,就是给定一个string,然后判断是否是一个数字,通过率相对很低了

    主要就是判断清楚所有情况。

    我在做的时候也是出了很多五错误,还是因为情况太多了,考虑的不周全。

    这道题其实应该考虑一个自动机的问题。

    public class Solution {
        public boolean isNumber(String s) {
            int len = s.length();     
            int flag1 = 0,flag2 = 0,flag3 = 0,flag4 = 0;
            int isnum = 0;
            for( int i = 0;i<len;i++){
                if( s.charAt(i) == ' ' && flag1 == 0 ){
                    while(i<len && s.charAt(i) == ' ' )
                        i++;
                    i--;
                    flag1 = 1;
                }
                else if( s.charAt(i) == '.' && flag2 == 0){
                    flag1 = 1;
                    flag2 = 1;
                }
                else if( (s.charAt(i) == '-' || s.charAt(i) == '+') && flag3 == 0 && isnum == 0 && flag2 == 0){
                    flag1 = 1;
                    flag3 = 1;
                }
                else if( s.charAt(i) == 'e' && flag4 == 0 && isnum == 1) {
                    flag1 = 1;
                    flag4 = 1;
                    flag2 = 1;
                    isnum = 0;
                    if( i<len-1 && (s.charAt(i+1) == '-' || s.charAt(i+1) == '+')){
                        i++;
                    }
                }
                else if( s.charAt(i) >= '0' && s.charAt(i) <= '9'){
                    flag1 = 1;
                    isnum = 1;
                }
                else if( s.charAt(i) == ' '){
                    while(i<len && s.charAt(i) == ' ' )
                        i++;
                    if( i == len && isnum == 1)
                        return true;
                    else
                        return false;
                }else
                    return false;
                
            }
            return isnum == 1?true:false;
            
            
            
        }
    }
  • 相关阅读:
    node.js mongodb笔记
    查询数据库的连接情况
    使用cmd命令查看电脑端口占用情况
    正则表达式基本语法
    ASCII码对照表
    使用命令实现IIS 站点和应用程序池自动启动和停止
    postgresql常见命令及操作
    apigateway-kong(四)负载均衡理论及实现
    apigateway-kong(三)Proxy规则
    apigateway-kong(二)admin-api(结合实例比官网还详细)
  • 原文地址:https://www.cnblogs.com/xiaoba1203/p/5949374.html
Copyright © 2020-2023  润新知