【算法训练营】字符串转成整数

字符串转成整数

  • 题目
  • 题解
  • 代码

题目

00
点击跳转: 把字符串转换为整数

题解

【题目解析】:
本题本质是模拟实现实现C库函数atoi,不过参数给的string对象
【解题思路】:

解题思路非常简单,就是上次计算的结果10,相当于10进制进位,然后加当前位的值。
例如:“123”转换的结果是
sum=0
sum
10+1->1
sum10+2->12
sum
10+3->123
本题的关键是要处理几个关键边界条件:

  1. 空字符串
  2. 正负号处理
  3. 数字串中存在非法字符

代码

class Solution {
public:int StrToInt(string str) {if(str.empty())return 0;//处理负号int flag=1;if(str[0]=='-'){flag=-1;str[0]='0';}else if(str[0]=='+'){flag=1;str[0]='0';}//遍历str 计算数int sum=0;for(int i=0;i<str.size();i++){if(str[i]<'0'||str[i]>'9'){sum=0; //要处理中间状态的数组//当123a34 碰到a时 也要把sum的值置0 返回break;}sum=sum*10+str[i]-'0';}return flag*sum;}
};

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/10489.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【大数据之Flume】三、Flume进阶之Flume Agent 内部原理和拓扑结构

1 Flume事务 2 Flume Agent 内部原理 重要组件&#xff1a; 1、ChannelSelector&#xff08;选择器&#xff09;   ChannelSelector 的作用就是选出 Event 将要被发往哪个 Channel。   &#xff08;1&#xff09;Replicating ChannelSelector&#xff08;复制或副本&#x…

TCP/IP网络编程 第二十一章:异步通知I/O模型

理解异步通知I/O模型 理解同步和异步 首先解释“异步”&#xff08;Asynchronous&#xff09;的含义。异步主要指“不一致”&#xff0c;它在数据I/O中非常有用。之前的Windows示例中主要通过send&recv函数进行同步I/O。调用send函数时&#xff0c;完成数据传输后才能从函…

php 进程间通信:管道、uds

1、管道 1.1、管道概念 管道是单向的、先进先出的&#xff0c;它把进程的输出和另一个进程的输入连接在一起。一个进程往管道写入数据&#xff0c;另一个进程从管道读取数据。数据被从管道中读取出来之后&#xff0c;将被删除&#xff0c;其他进程无法在读取到相应的数据。管…

格式工厂5.10.0版本安装

目前格式工厂有很多&#xff0c;大多都可以进行视频转换 之前遇到一个用ffmpeg拉流保存的MP4在vlc和迅雷都无法正常播放的问题&#xff0c;发现视频长度不对&#xff0c;声音也不对&#xff0c;最后换到了格式工厂的格式播放器是可以正常播放的 格式工厂下载之家的地址 http…

每天五分钟计算机视觉:单卷积层的前向传播过程

什么是单卷积层? 一张图片(输入)经过多个卷积核卷积就会得到一个输出,而这多个卷积核的组合就是一个单卷积层。 这些卷积核可能大小是不一样的,但是他们接收同样大小是输入,他们的输出必须是一般大小,所以不同的卷积核需要具备不同的步长和填充值。 单层卷积网络前向传…

你们公司的【前端项目】是如何做测试的?字节10年测试经验的我这样做的...

前端项目也叫web端项目&#xff08;通俗讲就是网页上的功能&#xff09;是我们能够在屏幕上看到并产生交互的体验。 前端项目如何做测试&#xff1f; 要讲清楚这个问题&#xff0c;先需要你对测试流程现有一个全局的了解&#xff0c;先上一张测试流程图&#xff1a; 测试流程…

旧版Xcode文件较大导致下载总是失败但又不能断点续传重新开始的解决方法

问题&#xff1a; 旧版mac下载旧版Xcode时需要进入https://developer.apple.com/download/all/?qxcode下载&#xff0c;但是下载这些文件需要登录。登录后下载中途很容易失败&#xff0c;失败后又必须重新下载。 解决方案&#xff1a; 下载这里面的内容都需要登录&#xff0…

开发一个RISC-V上的操作系统(二)—— 系统引导程序(Bootloader)

目录 文章传送门 一、什么是Bootloader 二、简单的启动程序 三、上板测试 文章传送门 开发一个RISC-V上的操作系统&#xff08;一&#xff09;—— 环境搭建_riscv开发环境_Patarw_Li的博客-CSDN博客 开发一个RISC-V上的操作系统&#xff08;二&#xff09;—— 系统引导…

机器学习深度学习——多层感知机

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习——感知机 &#x1f4da;订阅专栏&#xff1a;机器学习&&深度学习 希望文章对你们有所帮助 上一节…

Python代码实现题型

1.写出print()输出值 a = [1, 2, 3, 4, 5] # [1, 3, 5] print(a[::2]) # [4, 5] print(a[-2:]) 2.写出调用函数的输出结果 def fn(x, lst=[]):for i in range(x):lst.append(i * i)print(lst)# [0, 1] fn(2)# [3, 2, 1, 0, 1, 4] fn(3, [3,2,1])# [0, 1, 0, 1, 4] fn(3) 3.…

Git时间:版本控制工具进阶

Git时间&#xff1a;版本控制工具进阶 忽略文件 Git允许用户将指定的文件或目录排除在版本控制之外&#xff0c;它会检查代码仓库的目录下是否存在一个名为.gitignore的文件&#xff0c;如果存在&#xff0c;就去一行行读取这个文件中的内容&#xff0c;并把每一行指定的文件…

瀚高数据库中,对象不存在问题的处理思路及解决方案

**瀚高数据库 目录 环境 文档用途 详细信息 环境 系统平台&#xff1a;N/A 版本&#xff1a;6.0,4.5 文档用途 使用瀚高数据库可能会遇到应用系统中报对象等不存在的问题&#xff0c;可参照本文处理。 详细信息 1、常见报错信息展示&#xff1a; msgid “table “%s” does …

MySQL 读写分离

目录 一、什么是读写分离&#xff1f; 二、为什么要读写分离呢&#xff1f; 三、什么时候要读写分离&#xff1f; 四、主从复制与读写分离 五、MySQL 读写分离原理 六、企业 使用MySQL 读写分离场景 1&#xff09;基于程序代码内部实现 2&#xff09;基于中间代理层实现…

你说你会Java手动锁,但你会这道题吗???

按照这个格式输出你会吗&#xff1f;&#xff1f;&#xff1f; 你说你不会&#xff0c;接下来认真看认真学了。 1.首先引入原子类。AtomicInteger num new AtomicInteger(0); 什么是原子类&#xff1f; 就是可以保证线程安全的原子操作的数据类型。 有什么作用&#xff1f;…

在Debian 12 上安装 PHP 5.6, 7.4

环境&#xff1a;Debian 12 Debian 12 默认的PHP版本为 8.2 如果直接安装php7.4就出现下面的报错&#xff1a; sudo apt-get install libapache2-mod-php7.4 php7.4 php7.4-gd php7.4-opcache php7.4-mbstring php7.4-xml php7.4-json php7.4-zip php7.4-curl php7.4-imap p…

postgresql备份和恢复

实际工作中会对数据库进行备份和还原&#xff0c;备份主要有三种格式 .bak 即压缩的二进制 .sql 即明文存储 .tar 即tarball压缩格式 数据库备份分单数据库备份&#xff0c;使用 pg_dump 命令&#xff1b;所有数据库备份&#xff0c;使用 pg_dumpall 命令 pg_dump 常用选项…

Unity TextMeshPro 富文本-文本水平对齐

资料 文档 文本水平对齐 对齐方式&#xff1a;左对齐&#xff0c;右对齐&#xff0c;居中,Justified,Flush 使用&#xff1a;<alignleft>左对齐</align> &#xff0c;可赋值left,right,center,flush,justified 该标签会覆盖默认的对齐方式。标签范围内的文本受影…

Java简化MongoDB编解码器的两种方法

介绍&#xff1a; 在与MongoDB进行数据交互时&#xff0c;有时候会遇到找不到类的编解码器&#xff08;codec&#xff09;的错误。为了解决这个问题&#xff0c;一种常见的方法是创建自定义编解码器来处理特定的类。然而&#xff0c;对于一些开发者来说&#xff0c;这样的方法…

导出为PDF加封面且分页处理dom元素分割

文章目录 正常展示页面导出后效果代码 正常展示页面 导出后效果 代码 组件内 <template><div><div><div class"content" id"content" style"padding: 0px 20px"><div class"item"><divstyle"…

Ubuntu Server版 之 mysql 系列

Ubuntu 分 桌面版 和 服务版 桌面版 &#xff1a;有额外的简易界面 服务版&#xff1a;是纯黑框的。没有任何UI界面的可言 安装mysql 安装位置 一般按照的位置存放在 /usr/bin 中 sudo apt-get install mysql-server查看mysql的状态 service mysql status mysql 安全设置…