剑指offer:表示数值的字符串cpp题解:指针
文章目录
- 题目来源
分析
题意:需要判断是小数和科学计数法。
这里的奇淫巧计是:e之前必须是数(小数或者整数);e后面需要是整数(可以有符号位)
这就启发我们:用一个指针i,从前往后遍历,确定是否是数字,直到遇到e为止。后面判断是不是整数即可。
return true 的条件是:整体是合法数字而且指针走到string的下一个位置,即i == s.size().
反过来说:如果i没有走到string 的最后,说明中间有不满足的地方,即该字符串不是数值。
另一点需要注意的是:前面或者后面可能有多余的空格。
ac代码
class Solution {public:bool isNumber(string s) {int i = 0; // 指针bool isNum = false; // 初始s不是数字while (s[i] == ' ') i ++; // 前导空格if (s[i] == '+' || s[i] == '-') i ++; // 允许一位符号while (isdigit(s[i])) { // 整数部分isNum = true;i ++;}if (s[i] == '.') {// 允许一位小数点i ++;}// 小数部分while (isdigit(s[i])) {isNum = true;i ++;}// 下面是判断eif (isNum && (s[i] == 'e' || s[i] == 'E')) {i ++;// 允许一位符号if (s[i] == '+' || s[i] == '-') i ++;isNum = false; // 此时,e后面还没有整数,isNum为false// 整数部分while (isdigit(s[i])) {isNum = true;i ++;}}// 取出末尾空格while (s[i] == ' ') i ++;bool res = isNum && (i == s.size());return res;}
};
题目来源
https://leetcode-cn.com/problems/biao-shi-shu-zhi-de-zi-fu-chuan-lcof/
https://www.acwing.com/problem/content/29/
剑指offer:表示数值的字符串cpp题解:指针相关推荐
- 【LeetCode】剑指 Offer 16. 数值的整数次方
[LeetCode]剑指 Offer 16. 数值的整数次方 文章目录 [LeetCode]剑指 Offer 16. 数值的整数次方 package offer;public class Soluti ...
- LEETCODE | PYTHON | 剑指 Offer 58 - Ⅱ | 左旋转字符串
LEETCODE | PYTHON | 剑指 Offer 58 - Ⅱ | 左旋转字符串 1. 题目 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部.请定义一个函数实现字符串左旋转操作 ...
- 《剑指offer》75题 C++详细题解
目录 简单: 剑指 Offer 03. 数组中重复的数字 map: unordered_map: 原地交换 剑指 Offer 05. 替换空格 剑指 Offer 06. 从尾到头打印链表 出栈入栈 双 ...
- 【LeetCode 剑指offer刷题】字符串题6:67 把字符串转成整数
[LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) 67 把字符串转成整数 题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符 ...
- 剑指Offer #12 数值的整数次方(快速幂)
题目来源:牛客网-剑指Offer专题 题目地址:数值的整数次方 题目描述 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 保证base和 ...
- 【LeetCode 剑指offer刷题】字符串题12:Valid Palindrome(回文词系列)
[LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) Valid Palindrome Given a string, determine if it is a pali ...
- 【附可运行代码】剑指 Offer 16. 数值的整数次方
立志用最少的代码做最高效的表达 实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn).不得使用库函数,同时不需要考虑大数问题. 示例 1: 输入:x = 2.00000, n = 10 ...
- 剑指offer--51.表示数值的字符串
正则好舒服, ------------------------------------------------------------------------------------------ 时间 ...
- 剑指offer:Python 把字符串转换成整数
阅读目录 题目描述 思路及Python实现 题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0 输入描述:输入一个字符串,包括数字 ...
最新文章
- 异步/等待-什么时候返回Task vs void?
- Android手机rom分区以及sd卡总结
- python化学题_中国大学mooc《化学教学论(朱汝葵 陈思静 汤希雁)》考试期末答案高校邦《Python程序设计基础【实境编程】》课后作业答案...
- 转载:Windows核心编程---空指针赋值分区
- 有哪些小游戏的java代码_求一个Java小游戏代码(鼠标点击类小游戏)最好代码里面不要有中文...
- python一百行代码多少钱_用86行Python代码模拟太阳系
- 如何向开源软件贡献自己的力量
- Java开发必会Git分布式版本控制系统实战篇
- 三行代码实现冒泡排序算法
- 冷知识 —— 容易读错的发音(英文)
- python中string函数的用法_python中string模块各属性以及函数的用法
- Unity3D启动时卡在Loading界面
- 【远距离无线模块】WDS3及SI4338使用步骤及配置说明
- Flutter SqlLite数据库快速入门
- Python下载视频
- Vue todos案例
- arm64_linux head.S的执行流程(3.18)- 12.msm8996 地址空间布局
- win10win键无反应_Win10系统桌面右键如何解决弹出菜单慢/无反应?
- 【原创纯手打】如何用微信小程序写留言板(附代码)
- 小鸟云:浅谈5 种典型的云原生架构反模式
热门文章
- 工具_好(zhuang)用(bi)的chrome插件
- PHP去掉诡异的BOM \ufeff JSON开头包含红点
- 解决IE6,IE7下子元素使用position:relative、父元素使用overflow:auto后,子元素不随着滚动条滚动的问题...
- php+sql创建本地项目详细步骤1——创建数据库数据表,数据库连接
- poj 3469 Dual Core CPU 最小割
- FlexViewer入门资料
- Will Wright总是能给我们带来惊奇啊
- 为了缅怀Borland Delphi!!!
- python 返回字符串长度_Python在使用特殊字符时返回错误的字符串长度
- python3转为unicode编码_「小技能get记」· 如何用python3解码unicode