剑指offer49:把字符串转换成整数
1 题目描述
输入描述:
输入一个字符串,包括数字字母符号,可以为空
输出描述:
如果是合法的数值表达则返回该数字,否则返回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:把字符串转换成整数的更多相关文章
- 剑指offer49 把字符串转换成整数
这个代码会报错 class Solution { public: ,kinvalid}; int now_status = kvalid; int StrToInt(string str) { now ...
- 剑指offer——把字符串转换成整数(c++)
题目描述请你写一个函数StrToInt,实现把字符串转换成整数这个功能.当然,不能使用atoi或者其他类似的库函数. 示例 1:输入: " -42"输出: -42解释: 第一个非空 ...
- 剑指Offer 把字符串转换成整数
题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: 如果是合法 ...
- 剑指Offer——把字符串转换成整数
题目描述: 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: 如果 ...
- 剑指offer--15.把字符串转换成整数
stringstream做这个真的很舒服 ------------------------------------------------------------------------------- ...
- 【Java】 剑指offer(67) 把字符串转换成整数
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 请你写一个函数StrToInt,实现把字符串转换成整数这个功能 ...
- 剑指Offer - 九度1508 - 把字符串转换成整数
剑指Offer - 九度1508 - 把字符串转换成整数2014-02-06 23:46 题目描述: 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 输入: 输入可能包含多个测试样例 ...
- 剑指 Offer 67. 把字符串转换成整数 + 字符串
剑指 Offer 67. 把字符串转换成整数 Offer_67 题目描述 题解分析 java代码 package com.walegarrett.offer; /** * @Author WaleGa ...
- 把字符串转换成整数 牛客网 剑指Offer
把字符串转换成整数 牛客网 剑指Offer 题目描述 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串 ...
- 力扣 - 剑指 Offer 67. 把字符串转换成整数
题目 剑指 Offer 67. 把字符串转换成整数 思路1 根据题意,要解决这题,首先要判断的条件有: 不包括首位空格 第一位必须为:+.-.数字三者其一,否则不合法 数字必须连续的,如果遇到非数字, ...
随机推荐
- C语言学习笔记7-字符串
本系列文章由jadeshu编写,转载请注明出处.http://blog.csdn.net/jadeshu/article/details/50752405 作者:jadeshu 邮箱: jades ...
- 内存管理2-set方法的内存管理-程序解析
创建class Book .h 有@ property float price; //@synthesize 自动 ------------ 创建class Student #import &quo ...
- java试题复盘——9月26日
5.在 JAVA 编程中, Java 编译器会将 Java 程序转换为(A) A. 字节码 B. 可执行代码 C. 机器代码 D. 以上都不对 解析: 编译器将Java源代码编译成字节码cla ...
- idea 2018注册码(激活码)
最近做一个项目,用idea 社区版的 但是缺少了好多功能 无奈只能用专业版的,但是需要注册激活 下面是我的注册方法 1.打开了idea 会提示让激活 选择Licensse server 2. ...
- ios编译库文件时出现的问题
1. 警告:directory not found for option "xxxxxxxx" 文件路径未找到 选择工程, 编译的 (targets) 选择 Build Setti ...
- 如何捕捉Desried Capabilities中的appPackafe和appActive
捕捉这两个参数需要借助adb工具的日志进行分析.ADB是一种命令行工具,用于PC和Android模拟器之前连接通信,集成在Android ADK中,默认在platfrom-tools目录下.在cmd运 ...
- 文件转移 互联网组成 路由器 分组交换 交换机 冲突域 网卡 数据帧的发送与接收会带来CPU开销 CPU中断 双网卡切换
https://zh.wikipedia.org/zh-cn/网段 在以太网环境中,一个网段其实也就是一个冲突域(碰撞域).同一网段中的设备共享(包括通过集线器等设备中转连接)同一物理总线,在这一总线 ...
- 三、Navicat将远程MySql数据库数据导入本地
1.安装本地的MySql.记住用户名和密码,这里以root,root为例. 2.打开Navicat,新建连接(连接),输入连接名,用户名,密码.确定,连接测试.这里连接名为luzhanshi.这样本地 ...
- PCA人脸识别学习笔记---原理篇
前言 在PCA人脸识别中我们把一个人脸图片看做一个特征向量,PCA做的事情就是:找到这样一组基向量来表示已有的数据点,不仅仅是将高维度数据变成低维度数据,更能够找到最关键信息. 假设已有数据{xi} ...
- Python 调用outlook发送邮件(转 )
单账号: import win32com.client as win32 def send_mail(): outlook = win32.Dispatch('Outlook.Application' ...