请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。

数值(按顺序)可以分成以下几个部分:

若干空格
一个 小数 或者 整数
(可选)一个 'e' 或 'E' ,后面跟着一个 整数
若干空格
小数(按顺序)可以分成以下几个部分:

(可选)一个符号字符('+' 或 '-')
下述格式之一:
至少一位数字,后面跟着一个点 '.'
至少一位数字,后面跟着一个点 '.' ,后面再跟着至少一位数字
一个点 '.' ,后面跟着至少一位数字
整数(按顺序)可以分成以下几个部分:

(可选)一个符号字符('+' 或 '-')
至少一位数字
部分数值列举如下:

["+100", "5e2", "-123", "3.1416", "-1E-16", "0123"]
部分非数值列举如下:

["12e", "1a3.14", "1.2.3", "+-5", "12e+5.4"]

# 抖机灵解法
class Solution:def isNumber(self, s: str) -> bool:try:float(s)return Trueexcept ValueError:return False
class Solution:def isNumber(self, s: str) -> bool:try:float(s)return Trueexcept ValueError:return False
class Solution(object):def isNumber(self,s):s=s.strip()#去除空格if not s:return Falseif s[0]=='+' or s[0]=='-':s=s[1:]if not s or s[0]=='+' or s[0]=='-' or s[0]=='.' and len(s)==1:return Falsedot=0Ee=0num=0for i in range(len(s)):char=s[i]if '0'<=char<='9':num+=1elif char=='+' or char=='-':if not (s[i-1]=='e' or s[i-1]=='E'):return Falseelif char=='.':dot+=1if dot>1:return Falseif Ee:return Falseelif char=='e' or char=='E':Ee+=1if num==0:return Falseif i==0:# E e 开头return Falseif i+1==len(s):# E e 结尾return Falseif Ee>1:return Falseif s[i+1]=='+' or s[i+1]=='-':if i+2==len(s):return Falseelse:return Falsereturn True

表示数值的字符串 剑指offer相关推荐

  1. 《剑指offer》题目说明

    剑指offer推荐刷题地址: Leetcode: https://leetcode-cn.com/problemset/lcof (官方授权) 牛客网:https://www.nowcoder.com ...

  2. C#LeetCode刷题-剑指Offer

    本文由 比特飞 原创发布,欢迎大家踊跃转载. 转载请注明本文地址:C#LeetCode刷题-剑指Offer | .Net中文网. C#LEETCODE刷题概述 概述 所有LeetCode剑指Offer ...

  3. 《剑指offer》75题 C++详细题解

    目录 简单: 剑指 Offer 03. 数组中重复的数字 map: unordered_map: 原地交换 剑指 Offer 05. 替换空格 剑指 Offer 06. 从尾到头打印链表 出栈入栈 双 ...

  4. 算法题解(剑指Offer篇)

    文章目录 栈与队列(简单) *剑指 Offer 09. 用两个栈实现队列 - 12.27 剑指 Offer 30. 包含min函数的栈 - 12.27 链表(简单) *剑指 Offer 06. 从尾到 ...

  5. 剑指offer刷题记录 python3 Java

    剑指offer刷题记录 python3 Java 剑指 Offer 09. 用两个栈实现队列 剑指 Offer 10- I. 斐波那契数列 剑指 Offer 03. 数组中重复的数字 [★]剑指 Of ...

  6. 剑指Offer面试题解总结11-20

    目录 剑指Offer(11~20) 旋转数组中的最小数字 矩阵中的路径 剪绳子 剪绳子II 二进制中1的个数 数值的整数次方 打印从1到最大的n位数 删除链表的节点 正则表达式匹配 表示数值的字符串 ...

  7. Leetcode刷题笔记——剑指offer II (一)【整数、数组、字符串、链表】

    目录 整数 剑指 Offer II 001. 整数除法 剑指 Offer II 002. 二进制加法 剑指 Offer II 003. 前 n 个数字二进制中 1 的个数 剑指 Offer II 00 ...

  8. leetcode刷题笔记——剑指offer(二)[回溯、排序、位运算、数学、字符串]

    这里写目录标题 搜索与回溯 剑指 Offer 12. 矩阵中的路径 剑指 Offer 13. 机器人的运动范围 剑指 Offer 34. 二叉树中和为某一值的路径 剑指 Offer 36. 二叉搜索树 ...

  9. 剑指offer第二版答案详细版(带详细解题思路)

    1.滑动窗口的最大值(剑指offer原59题) 解题思路:其实是一个队列的问题,用一个队列去维护当前窗口中的所有元素:首先将超出窗口中的队头元素先删掉,然后将新的元素插入当前窗口中,插入时要判断新插入 ...

  10. 【剑指offer】【leetcode精选题集】【Java】剑指offer题解合集 更新中

    Leetcode题集 [剑指offer][JAVA]面试题第[03]题[数组中的重复数字][HashSet] [剑指offer][JAVA]面试题第[04]题[二维数中的查找][数组] [剑指offe ...

最新文章

  1. 分享9个提高代码运行效率的小技巧
  2. 明抢华为市场,宣战苹果三星,这家创业公司胆子不小
  3. 4个足球队打小组单循环
  4. 虚拟机centos7.3不能启动
  5. WordPress 修改固定链接出错(apache2)
  6. (转)Mahout Kmeans Clustering 学习
  7. Atitit.减少http请求数方案
  8. 用虚拟机在一台电脑上实现xPC实时仿真
  9. memcache客户端命令
  10. Android申请相机权限
  11. uniapp 表格组件,冻结首行首列
  12. 程序计数器的作用--简单易懂
  13. BP神经网络的MATLAB源码
  14. linux获取android界面,Android中 adb shell ps 查看手机中进程信息
  15. ArcGIS之创建企业级地理数据库(Oracle)
  16. Webots中常用的函数(C版)
  17. Facebook老员工的十点经验
  18. 弹性文件服务(Scalable File Service,SFS)
  19. Unity3D音频播放 动态加载组件
  20. Java某人再玩游戏的时候输入密码123456后成功进入游戏(输错5次则被强行退出)要求用程序实现密码验证的过程。

热门文章

  1. 《网页设计技巧》系列之一 浅谈文本排版
  2. Usage of #pragma
  3. SwipeRefreshLayout+RecyclerView滑动冲突解决
  4. Day2 python基础
  5. BackgroundWorker 简单使用教程 多个线程的创建
  6. How is NGINX Unit different from Apache?
  7. WPF 使用值转换器进行绑定数据的转换IValueConverter
  8. Java中 IO 常用操作
  9. 在鼠标右键菜单栏添加notepad++打开方式
  10. 图像识别算法_图像识别—MobileNets算法详解