题目来源
牛客网
链接:字符串转换成整数

题目描述
将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。

输入描述:

输入一个字符串,包括数字字母符号,可以为空

输出描述:

如果是合法的数值表达则返回该数字,否则返回0

输入:

+2147483647
1a33

输出:

2147483647
0

解题思路
每次计算用上次计算的结果*10,相当于10进制进位,然后加当前位的值。
例如:“123”转换的结果是
sum = 0
sum * 10+1->1
sum * 10+2->12
sum * 10+3->123

注意:本题的关键是要处理几个关键边界条件:

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

代码展示

class Solution
{public:int StrToInt(string str){if(str.empty())return 0;int symbol = 1;if(str[0] == '-')//处理负号{symbol = -1;str[0] = '0';}else if(str[0] == '+')//处理正号{symbol = 1;str[0] = '0';}int sum = 0;for(int i = 0;i < str.size();++i){if(str[i] < '0' || str[i] > '9'){sum = 0;break;}sum = sum * 10 + str[i] - '0';}return symbol * sum;}
};

【每日一题】字符串转换成整数相关推荐

  1. 程序员编程艺术第三十 三十一章 字符串转换成整数,通配符字符串匹配

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 第三十~ ...

  2. 字符串转换成整数,带通配符的字符串匹配

    之前本一直想写写神经网络算法和EM算法,但写这两个算法实在需要大段大段的时间,而平时上班,周末则跑去北大教室自习看书(顺便以时间为序,说下过去半年看过的自觉还不错的数学史方面的书:<数理统计学简 ...

  3. 字符串转换成整数,字符串匹配问题

    本文转自csdn大神v_JULY_v的博客 地址: http://blog.csdn.net/v_july_v/article/details/9024123 阅读心得:自己原先想得太天真了... 第 ...

  4. 程序员编程艺术第三十~三十一章:字符串转换成整数,通配符字符串匹配

    第三十~三十一章:字符串转换成整数,带通配符的字符串匹配 前言 之前本一直想写写神经网络算法和EM算法,但写这两个算法实在需要大段大段的时间,而平时上班,周末则跑去北大教室自习看书(顺便以时间为序,说 ...

  5. 字符串转换成整数,通配符的字符串匹配问题

    http://blog.csdn.net/v_july_v/article/details/9024123#comments 前言 之前本一直想写写神经网络算法和EM算法,但写这两个算法实在需要大段大 ...

  6. 程序员面试题精选100题(17)-把字符串转换成整数[算法]

    题目:输入一个表示整数的字符串,把该字符串转换成整数并输出.例如输入字符串"345",则输出整数345. 分析:这道题尽管不是很难,学过C/C++语言一般都能实现基本功能,但不同程 ...

  7. Leetcode错题本1-实现一个 atoi 函数,使其能将字符串转换成整数。

    题目描述 请你来实现一个 atoi 函数,使其能将字符串转换成整数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止.接下来的转化规则如下: 如果第一个非空字符为正或者 ...

  8. 在要求输入数字处找到非数字字符_剑指 Offer 67. 把字符串转换成整数 leetcode 剑指offer系列...

    点击专辑上方"蓝字"关注我吧 题目难度: 中等 原题链接[1] 今天继续更新剑指 offer 系列, 老样子晚上 6 点 45 分准时更新公众号 每日精选算法题, 大家记得关注哦~ ...

  9. oracle 转化为整数,字符串转换成整数——从源码学习

    字符串转换成整数:输入一个表示整数的字符串,把该字符串转换成整数并输出,例如输入字符串"345",则输出整数345. 在笔试面试中,atoi 即「字符串转换成整数」是一个经典问题了 ...

最新文章

  1. springboot redis配置
  2. 使用ZjDroid时出现了R.java不存在的错误解决方法
  3. 企业 SpringBoot 教程 (七)springboot开启声明式事务
  4. 物联网细分领域-车联网(OBD)市场分析
  5. 异步/同步、阻塞/非阻塞的理解
  6. 数据结构与算法 —— 向量的扩容策略与分摊时间复杂度
  7. Unix/Linux环境C编程新手教程(40) 初识文件操作
  8. DES加密,前端示例,Java示例,在线测试
  9. git push --set-upstream origin wangxiao
  10. python 拆分excel单元格内容_Excel拆分单元格与把一个单元格内容拆分到多个单元格...
  11. ZOJ 3551 Bloodsucker 题解
  12. Mysql workbench画ER图
  13. selenium——爬取qq空间说说
  14. 怎么把照片一键生成漫画图?照片生成漫画方法分享。​
  15. Windows网络共享或共享打印机无法访问连接的简单终极解决方法
  16. (python 3)1018 锤子剪刀布 (20分)
  17. 对不起,我轻视了google的公关能力
  18. 计算机专业毕业典礼,计算机网络技术专业毕业典礼发言稿
  19. 【云原生之Docker实战】使用Docker部署Cloudreve公有云文件系统
  20. 老蒋谈建站不选择免费空间/主机的3个理由

热门文章

  1. 华三路由引入配置实验
  2. 【神经网络】FNN——前馈神经网络、前向传播、反向传播详解
  3. NSDate 农历节日
  4. Python pydub 截取音频
  5. 运维工程师和网络工程师的差别在哪?到底哪个更有“钱”途?
  6. 迪士尼机器人芭蕾舞_迪士尼公园只有卡通公主?内含大量惊人科技感机器人
  7. 【工业视觉-CCD相机和CMOS相机成像的本质区别】
  8. 如何选择工业中CCD相机与CMOS相机
  9. 物联网毕业设计 单片机遥控小车
  10. PHP学习资源整理:入门到进阶全系列