true" 0.1 " => true...">
美文网首页
[LeetCode]65、有效数字

[LeetCode]65、有效数字

作者: 河海中最菜 | 来源:发表于2019-08-04 09:48 被阅读0次

题目描述

验证给定的字符串是否可以解释为十进制数字。

例如:

"0" => true
" 0.1 " => true
"abc" => false
"1 a" => false
"2e10" => true
" -90e3 " => true
" 1e" => false
"e3" => false
" 6e-1" => true
" 99e2.5 " => false
"53.5e93" => true
" --6 " => false
"-+3" => false
"95a54e53" => false

说明: 我们有意将问题陈述地比较模糊。在实现代码之前,你应当事先思考所有可能的情况。这里给出一份可能存在于有效十进制数字中的字符列表:

数字 0-9
指数 - "e"
正/负号 - "+"/"-"
小数点 - "."
当然,在输入中,这些字符的上下文也很重要。

思路解析

1、出现'.',前面不能出现e或者“.”
2、出现“e”,前面必须有数字或者不能出现e,并且后面继续能够出现数字
3、数字的符合必须出现在e的后面,除了第一个

class Solution:
    def isNumber(self, s: str):
        s = s.strip()
        #print(s)
        dot_seen = False
        e_seen = False
        num_seen = False
        for i, a in enumerate(s):
            if a.isdigit():
                num_seen = True
            elif a == ".":
                if e_seen or dot_seen:
                    return False
                dot_seen = True
            elif a == "e":
                if e_seen or not num_seen:
                    return False
                num_seen = False
                e_seen = True
            elif a in "+-":
                if i > 0 and s[i - 1] != "e":
                    return False
            else:
                return False
        return num_seen
    
    # def isNumber(self, s: str) -> bool:
    #     try:
    #         num = float(s)
    #         return True
    #     except:
    #         return False
image.png

相关文章

  • [LeetCode]65、有效数字

    题目描述 验证给定的字符串是否可以解释为十进制数字。 例如: "0" => true" 0.1 " => true...

  • LeetCode - #65 有效数字

    前言 我们社区陆续会将顾毅(Netflix 增长黑客,《iOS 面试之道》作者,ACE 职业健身教练。)的 Swi...

  • 2.数学(二)

    题目汇总https://leetcode-cn.com/tag/math/65. 有效数字困难(没做)67. 二进...

  • 【LeetCode】65.有效数字

    LeetCode 题目地址:https://leetcode-cn.com/problems/valid-numb...

  • LeetCode 力扣 65. 有效数字

    题目描述(困难难度) 给定一个字符串,判断它是否代表合法数字,当然题目描述的样例不够多,会使得设计算法中出现很多遗...

  • python实现leetcode之65. 有效数字

    解题思路 代码比较长,但是很简单「设计模式」中的访问者模式使用一个类管理匹配,检查匹配状态即可 65. 有效数字[...

  • 65.有效数字

  • Day23 有效的数独

    判断一个 9x9 的数独是否有效。只需要根据规则,验证已经填入的数字是否有效即可 https://leetcode...

  • PHP之高频考点算法合辑

    有效括号 LC: Valid Parentheses - LeetCode[https://leetcode.co...

  • 有效括号 Click here for leetcode details[https://leetcode-cn....

网友评论

      本文标题:[LeetCode]65、有效数字

      本文链接:https://www.haomeiwen.com/subject/hsuedctx.html