• leetCode 65.Valid Number (有效数字)


    Valid Number 

    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.

    Update (2015-02-10):

    The signature of the C++ function had been updated. If you still see your function signature accepts a const char * argument, please click the reload button  to reset your code definition.


    思路:此题是真的有些难度的,并且最重要的是我根本就不清楚一个有效数字的规则。。

    一个连规则都不知道的人怎么能玩好游戏呢,所以果断的挂了10次8次的。最后还是没有全然答对。

    临时把别人的代码拿出来放在以下。有时间再好好研究一下:

    public class Solution {
        public boolean isNumber(String s) {
            // Start typing your Java solution below
            // DO NOT write main() function
           /* 
           
           "0" => true
            "     0.1     " => true
            "abc" => false
            "1 a" => false
            "+-2e10" => true
            //*/
            //check input.
            if(s==null || s.length()==0) return false;
            int sz = s.length();
            int i=0;
            
            while(i<sz && s.charAt(i)==' ') ++i;
            
            boolean space = false;
            boolean exp = false;
            boolean dot = false;
            boolean number = false;
            boolean neg = false;
            
            for(; i<sz; i++) {
                char c = s.charAt(i);
                if(c==' ') {
                    space = true;
                } else if(space==true) {
                    return false;
                } else if( (c=='e' || c=='E') && exp==false && number==true) {
                    exp = true;
                    number = false;
                    dot = true;
                    neg = false;
                } else if( c=='.' && dot==false) {
                    dot = true;
                    neg = true;
                   // number = false;
                } else if( c>='0' && c<='9') {
                    number = true;
                } else if((c=='+' || c=='-') && neg==false && number==false ) {
                    neg = true;
                } else {
                    return false;
                }
            }
            return number;
        }
    }


  • 相关阅读:
    安装Hadoop
    爬虫综合大作业
    爬取全部校园新闻
    理解爬虫原理
    中文词频统计与词云生成
    复合数据类型,英文词频统计
    字符串操作、文件操作,英文词频统计预处理
    了解大数据的特点、来源与数据呈现方式
    大数据应用期末总评
    分布式文件系统HDFS 练习
  • 原文地址:https://www.cnblogs.com/cxchanpin/p/7207099.html
Copyright © 2020-2023  润新知