54题

请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。

public class Solution54 {
    private static int index=0;
    public boolean isNumeric(char[] str) {
        if(str.length > 0){
             index= 0;
            if(str[index] == ‘-‘ || str[index] == ‘+‘){
                index ++;
            }
            if(index < str.length){
                index = zhengshu(str);
                if(index == str.length)return true;
                if(str[index] == ‘.‘){
                    index ++;
                    if(index ==str.length) return false;
                    index = zhengshu(str);
                    if(index == str.length)return true;
                    if(str[index] == ‘.‘)return false;
                    else if(str[index] == ‘e‘ || str[index] == ‘E‘){
                        index ++;
                        if(index == str.length) return false;
                        if(str[index] == ‘+‘ || str[index] == ‘-‘){
                            index ++;
                        }
                        if(index == str.length) return false;
                        index = zhengshu(str);
                        if(index ==str.length) return true;
                    }else{
                        if(index == str.length)return true;
                        else return false;
                    }
                }else if(str[index] == ‘e‘ || str[index] == ‘E‘){
                    index ++;
                    if(index == str.length) return false;
                    if(str[index] == ‘+‘ || str[index] == ‘-‘){
                        index ++;
                    }
                    if(index == str.length) return false;

                    index = zhengshu(str);
                    if(index ==str.length) return true;
                }
                return false;

            }              

        }
        return false;
    }

    private static int zhengshu(char[] str) {
        while(index < str.length && str[index] >=‘0‘ && str[index]<=‘9‘){
            index ++;

        }
        return index;
    }

}
时间: 2024-10-11 07:15:24

54题的相关文章

通过欧拉计划学Rust编程(第54题)

由于研究Libra等数字货币编程技术的需要,学习了一段时间的Rust编程,一不小心刷题上瘾. 刷完欧拉计划中的63道基础题,能学会Rust编程吗? "欧拉计划"的网址: https://projecteuler.net 英文如果不过关,可以到中文翻译的网站: http://pe-cn.github.io/ 这个网站提供了几百道由易到难的数学问题,你可以用任何办法去解决它,当然主要还得靠编程,编程语言不限,论坛里已经有Java.C#.Python.Lisp.Haskell等各种解法,当然

LeetCode第[54]题(Java):Spiral Matrix

题目:螺旋矩阵 难度:Medium 题目内容: Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral order. 翻译: 给定一个m x n元素的矩阵(m行,n列),以顺时针螺旋顺序返回矩阵的所有元素. Example 1: Input: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ] Output: [1,2,3,6

051 题库

序号 OCP 051题库 1 :  OCP-1Z0-051 第1题 CTAS语句建表注意事项 2 :  OCP-1Z0-051 第2题 视图的WITH CHECK OPTION选项 3 :  OCP-1Z0-051 第3题 转义字符 4 :  OCP-1Z0-051 第4题 单行函数 5 :  OCP-1Z0-051 第5题 to_char的数字的格式 6 :  OCP-1Z0-051 第6题 case when和decode的用法 7 :  OCP-1Z0-051 第7题 ON和USING子句

历年错题集2015

2015年下半年系统集成项目管理工程师真题(上午)解析 第9题: 所有以满足企业和机构业务发展而产生的信息化需求为目的,基于( )的专业信息技术咨询服务.系统集成服务.技术支持服务等工作,都属于信息系统服务的范畴. A.互联网与信息技术 B.互联网与信息理念 C.信息技术与信息化理念 D.工业化和信息化 C     所有以满足企业和机构业务发展而产生的信息化需求为目的,基于信息技术和信息化理念的专业信息技术咨询服务.系统集成服务.技术支持服务等工作,都属于信息系统服务的范畴. 第16题: 数据仓

英语阅读匹配题关键词类型

1. 一些拼写较长的词. 比如:internship,competitiveness,globalization,integration,sustainability,innovative,immigration等.这些词属于低频词,一般不会大篇幅地出现.利用这些词可以高效地查找匹配段落.另外,这些词有时会作为生词在文中标注出来,像internship,在原文中用斜体印刷,并以括号备注中文.我们选它做关键词,瞬间就能找到原文出处了. 2. 数字,包括年代.百分比.特殊事件等. 如四级样卷中的:m

[LeetCode]题解(python):059-Spiral Matrix II

题目来源 https://leetcode.com/problems/spiral-matrix-ii/ Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order. 题意分析 Input: n:integer Output:a matrix decribed as list[list[]] Conditions:输入一个大小,得到一个方形矩阵,然后形成蛇形矩阵 题目

剑指offer之【表示数值的字符串】

题目: 表示数值的字符串 链接: https://www.nowcoder.com/practice/6f8c901d091949a5837e24bb82a731f2?tpId=13&tqId=11206&rp=3&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking 题目描述: 请实现一个函数用来判断字符串是否表示数值(包括整数和小数).例如,字符串"+100",&quo

leetcode 59 Spiral Matrix II ------ java

Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order. For example,Given n = 3, You should return the following matrix: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ] 这道题其实就是第54题Spiral Matrix的输入和输出反过来而已. 很简单,一圈一圈往里

qdoj.xyz 6.16

今日天数:6 总题数:54题 昨日总题数:44题 增长率:23% 今日完成题数:10题 昨日完成题数:7题 增长量:3题 增长率:43% 平均每日题数:9题 昨日平均每日题数:8.8题 增长量:0.2题 增长率:2% 计划完成时间:4.6天 原文地址:https://www.cnblogs.com/sunxiyue/p/11037381.html