当前位置: 首页 > ai >正文

LeetCode 刷题【65. 有效数字】

65. 有效数字

自己做

解:逐个检查各位置

class Solution {
public:bool isNumber(string s) {int begin = 0;                  //检查起始int int_len = 0;                //整数部分长度int float_len = 0;              //小数部分长度if(s[0] == '-' || s[0] == '+')  //符号位存在,整数部分起始位置调整为从1开始begin++;//检查整数位while(begin < (int)s.size() && s[begin] != '.' && s[begin] != 'e' && s[begin] != 'E'){if(s[begin] > '9' || s[begin] < '0')            //如果整数位出现了非数字,说明这不是一个正确的数字return false;begin++;int_len++;}//检查小数位(如果有)if(begin < (int)s.size() - 1 && s[begin] == '.'){begin++;                                            //小数位起始      while(begin < (int)s.size() && s[begin] != 'e' && s[begin] != 'E'){if(s[begin] > '9' || s[begin] < '0')            //如果小数位出现了非数字,说明这不是一个正确的数字return false;begin++;float_len++;}            }if(int_len == 0 && float_len == 0)                      //如果整数部分和小数部分都为空,说明这不是一个正确的数字return false;//检查指数位(如果有)if(begin < (int)s.size() && (s[begin] == 'e' || s[begin] == 'E')){begin++;                                            //指数位起始if(begin == (int)s.size())                          //如果不存在指数位,说明这不是一个正确的数字=>排除"1e"的情况return false;if(s[begin] == '-' || s[begin] == '+')              //符号位存在,指数部分起始位置调整begin++;if(begin == (int)s.size())                          //如果不存在指数位,说明这不是一个正确的数字=>排除"1e+"的情况"return false;while(begin < (int)s.size()){if(s[begin] > '9' || s[begin] < '0')            //如果小数位出现了非数字,说明这不是一个正确的数字return false;begin++;}            }return true;}
};

http://www.xdnf.cn/news/20129.html

相关文章:

  • 机器学习算法介绍二
  • postgresql 通过dblink实现 跨库查询
  • PostgreSQL收集pg_stat_activity记录的shell工具pg_collect_pgsa
  • zoho crm notes add customer fields
  • 数字人打断对话的逻辑
  • 本地 Ai 离线视频去水印字幕!支持字幕、动静态水印去除!
  • python-虚拟试衣
  • LVS、Nginx与HAProxy负载均衡技术对比介绍
  • 任意齿形的齿轮和齿条相互包络工具
  • Linux常见命令总结 合集二:基本命令、目录操作命令、文件操作命令、压缩文件操作、查找命令、权限命令、其他命令
  • Process Explorer 学习笔记(第三章3.2.5):状态栏信息详解
  • PyTorch 训练显存越跑越涨:隐式保留计算图导致 OOM
  • 机器学习周报十二
  • 基于Echarts+HTML5可视化数据大屏展示-旅游智慧中心
  • CC-Link IE FB 转 DeviceNet 实现欧姆龙 PLC 与松下机器人在 SMT 生产线锡膏印刷环节的精准定位控制
  • docker 安装kafaka常用版本
  • 错误波形曲线
  • Qt信号与槽机制全面解析
  • Redis 事务:餐厅后厨的 “批量订单处理” 流程
  • 两条平面直线之间通过三次多项式曲线进行过渡的方法介绍
  • 雅菲奥朗SRE知识墙分享(七):『可观测性的定义与实践』
  • C++两个字符串的结合
  • 本地 Docker 环境 Solr 配置 SSL 证书
  • SQL与数据库笔记
  • Windows搭建WebDAV+Raidrive,实现磁盘映射
  • CentOS安装或升级protoc
  • 【学习笔记】解决 JWT 解析报错:Claims claims = JwtUtil.parseJWT(...) Error Code 401(token过期)
  • 开讲啦|MBSE公开课:第五集 MBSE中期设想(下)
  • Process Explorer 学习笔记(第三章3.2.4):找出窗口对应的进程
  • Python+DRVT 从外部调用 Revit:批量创建梁