1 题目描述

  将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。

  输入描述:

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

  输出描述:

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

  示例1
  输入
  +2147483647
    1a33
  输出
  2147483647 
  0

2 思路和方法,C++核心代码

边界条件: 数据上下 溢出;空字符串;只有正负号;有无正负号 。

 class Solution {
public:
int StrToInt(string str) {
if(str.empty())
return ;
int sign = ;
int i =;
int result = ; if (str[] == '-'){
sign = -;
++i;
}
else if(str[] == '+')
++i; for (; i < str.size(); ++i) {
if(str[i]>'' || str[i] < '')
return ;
int num = str[i] - ''; // 判断是否上溢出或者下溢出
if ((sign== && num > (numeric_limits<int>::max()-sign * num)/)
|| (sign==- && num< (numeric_limits<int>::min()-sign * num)/))
{
return ;
}
result = result * + sign * num;
}
return result;
}
};

参考资料

https://blog.csdn.net/u012477435/article/details/83351659#_873

剑指offer49:把字符串转换成整数的更多相关文章

  1. 剑指offer49 把字符串转换成整数

    这个代码会报错 class Solution { public: ,kinvalid}; int now_status = kvalid; int StrToInt(string str) { now ...

  2. 剑指offer——把字符串转换成整数(c++)

    题目描述请你写一个函数StrToInt,实现把字符串转换成整数这个功能.当然,不能使用atoi或者其他类似的库函数. 示例 1:输入: " -42"输出: -42解释: 第一个非空 ...

  3. 剑指Offer 把字符串转换成整数

    题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: 如果是合法 ...

  4. 剑指Offer——把字符串转换成整数

    题目描述: 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0   输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: 如果 ...

  5. 剑指offer--15.把字符串转换成整数

    stringstream做这个真的很舒服 ------------------------------------------------------------------------------- ...

  6. 【Java】 剑指offer(67) 把字符串转换成整数

      本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 请你写一个函数StrToInt,实现把字符串转换成整数这个功能 ...

  7. 剑指Offer - 九度1508 - 把字符串转换成整数

    剑指Offer - 九度1508 - 把字符串转换成整数2014-02-06 23:46 题目描述: 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 输入: 输入可能包含多个测试样例 ...

  8. 剑指 Offer 67. 把字符串转换成整数 + 字符串

    剑指 Offer 67. 把字符串转换成整数 Offer_67 题目描述 题解分析 java代码 package com.walegarrett.offer; /** * @Author WaleGa ...

  9. 把字符串转换成整数 牛客网 剑指Offer

    把字符串转换成整数 牛客网 剑指Offer 题目描述 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串 ...

  10. 力扣 - 剑指 Offer 67. 把字符串转换成整数

    题目 剑指 Offer 67. 把字符串转换成整数 思路1 根据题意,要解决这题,首先要判断的条件有: 不包括首位空格 第一位必须为:+.-.数字三者其一,否则不合法 数字必须连续的,如果遇到非数字, ...

随机推荐

  1. Android原生编解码接口 MediaCodec 之——踩坑

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/gb702250823/article/d ...

  2. 1656:Combination

    一本通1656:Combination 1656:Combination 时间限制: 1000 ms         内存限制: 524288 KB提交数: 89     通过数: 49 [题目描述] ...

  3. NSString的导出

    字符串的导出,写到某个文件中去 void stringExport(){ NSString *str=@"123456"; //if file not exist will not ...

  4. 前端逼死强迫症系列之css

    一.编写css样式 1.ID选择器 由于ID唯一,所以也是写多遍. <head> <style> #i1{ background-color: #2459a2; height: ...

  5. Mapreduce-实现webcount代码

    参考博文:https://blog.csdn.net/qq_41035588/article/details/90514824 首先安装一个Hadoop-Eclipse-Plugin 方便来对于hdf ...

  6. css定位中的百分比

    ----转载自自己在牛人部落中的相关文章--- 在前端css定位中经常面对的一个问题是,百分比定位究竟是针对于谁定位? 一.margin,padding的百分比 首先从css的设计意图说起,在浏览器默 ...

  7. elasticsearch head插件(5.0及以上版本)

    官方参考地址:https://github.com/mobz/elasticsearch-head5.0及以上版本安装参考地址:http://www.cnblogs.com/jstarseven/p/ ...

  8. 从Maven中央仓库下载jar包

    1. Maven中央仓库 Maven中央仓库存放着比较新版本比较全的 jar 包 仓库网址:https://mvnrepository.com/ 2. 使用Maven中央仓库的 jar 包 (1) 在 ...

  9. TCP/IP协议入门

    TCP/IP协议入门 1. 简介 Transmission Control Protocol/Internet Protocol的简写,即传输控制协议/因特网互联协议.它是网络通信的一套协议集合. 先 ...

  10. [Tex学习笔记]让项目编号从4开始

    微信扫描如上二维码关注跟锦数学微信公众账号. 详情请见那里.