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

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

字符串转成整数

  • 题目
  • 题解
  • 代码

题目

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.lryc.cn/news/96769.html

相关文章:

  • 入局元宇宙,所谓的无限可能到底在哪里?
  • 为什么 SSH(安全终端)的端口号是 22 !!
  • k8s Label 2
  • layui踩坑记录之form表单下的button按钮默认自动提交
  • 2-vi和vim的使用
  • 微服务——Nacos配置管理
  • 如何为WordPress博客网站配置免费域名HTTPS证书
  • React之内置的高阶组件
  • 【kubernetes系列】flannel之vxlan模式原理
  • PostgreSQL -- 备份恢复命令
  • 【基于Spark的电影推荐系统】环境准备
  • 团簇大小分布计算方法,fix ave/histo命令详解
  • CAN标准帧和拓展帧
  • android 清除缓存方法
  • 介绍下你们项目中各微服务之间怎么调用的?
  • MySql提示:The Server Quit Without Updating PID File(…)失败 103.36.167
  • FPGA学习——按键消抖的两种实现方法
  • SecureCRT如何将复制的内容粘贴到word中仍然保持原有字体颜色
  • 微信小程序分享页面代码
  • Hadoop 之 Hbase 配置与使用(四)
  • 使用TensorFlow和VGG-19模型实现艺术风格迁移:一步一步打造你的数字艺术世界
  • FBX/GLTF在线转换
  • Tensorflow(二)
  • NoSQL之 Redis 部署,配置与优化
  • 汽车行业 Y 公司对接斯堪尼亚 SCANIA EDI 项目案例
  • mysql到doris踩坑记录(如果有问题希望大家帮忙指出问题)
  • 苹果11手机设置手机跟踪功能
  • 下拉框可筛选可树状多选组件
  • 【LeetCode】70.爬楼梯
  • c#中的Math.Ceiling和Math.floor()和Math.Round()