关于string转整数
又是leetcode的easy级别题,很基本的题目,却漏考虑很多情况,动手前一定要考虑清楚呀!!!
就当做锻炼写作能力吧,先上题目!

将文本转换成整数,注意一下几点:
1.文本里面第一个不为空白的字符应该为数字或‘+’、‘-’,否则返回0;
2.文本中数字后面的文本不影响结果;
3.转换后的值若超过了int的最值应返回最值。
上代码吧!
class Solution {
public:
int myAtoi(string str) {
int start = 0;
for (int i = 0; i!= str.length(); i++)
{
if (str[i] == ' ')
start++;
else
break;
}
if(start>=str.length())
return 0;
int p = 0,t=0;
if (str[start] == '-')
{
start++;
p = 1;
}
else if (str[start] == '+')
start++;
for (; start <str.length(); start++)
{
char m = str[start] - '0';
if (m >= 0 && m <= 9)
{
if(t>INT_MAX/10)
if(p==0)
return INT_MAX;
else
return INT_MIN;
t *= 10;
if(p==0&&t>INT_MAX-m)
return INT_MAX;
else if(p!=0&&-t<(INT_MIN+m))
return INT_MIN;
t += m;
}
else
break;
}
return p==0?t:-t;
}
};
关于string转整数的更多相关文章
- string和整数转换
tostring(int) fromstring(string ) c++11新方式 stod Convert string to double (function template ) stold ...
- C++ string 转整数
使用 sstream 完成转换, #include <iostream> #include <string> #include <sstream> #include ...
- Swift2.0 中的String(三):类型转换
本系列第三篇,String相关的类型转换.其他的几篇传送门(GitHub打不开链接的同学请自行把地址github改成gitcafe,或者直接去归档里找:-P): Swift2.0 中的String(一 ...
- String及其他
String 以下例开始讲解String public class StringDemo { public static void main(String[] args) { // String s ...
- c++实现atoi()和itoa()函数(字符串和整数转化)
(0) c++类型所占的字节和表示范围 c 语言里 类型转换那些事儿(补码 反码) 应届生面试准备之道 最值得学习阅读的10个C语言开源项目代码 一:起因 (1)字符串类型转化为整数型(Integer ...
- 8:String类
String类 String类的特点: 字符串对象一旦被初始化就不会被改变. 字符串是最常用的类型之一,所以为了使用方便java就给封装成了对象方便使用 public static void str ...
- JAVA基础部分复习(一、8中基础类型,以及String相关内容)
以下是关于java中8种基本类型的介绍说明: package cn.review.day01; /** * java基础复习,8种数据类型 * (byte,short,long,int,double, ...
- golang 学习之路 string转换为其他类型 其他类型转换为string
将其他值转换为string 一般常用fmt.Sprintf(格式,转换的值) // 使用fmt.Sprintf 转换所有的类型为string 使用 这是第一种 // 注意在sprintf使用中需要注意 ...
- string操作大全
1. string to int && int to string 2. 整数1转换成字符串"001" int sprintf ( char * str, cons ...
随机推荐
- 字符串比较strcmp
问题: 原型:extern int strcmp(const char *s1,const char * s2); 所在头文件:string.h 功能:比较字符串s1和s2. 一般形式:strcmp( ...
- Xml转化为DataTable
/// <summary> /// XML转换为DataTable /// </summary> /// <param name="fileName" ...
- 验证码生成组件--JCaptcha的使用
以下为项目中所用代码,文笔有限,直接上代码. 所需jar包: 是否需要其他依赖包,不详 web.xml <servlet> <servlet-name>Jcaptcha< ...
- synchronized和volatile的使用
synchronized和volatile的使用 一步一步掌握线程机制(三)---synchronized和volatile的使用 现在开始进入线程编程中最重要的话题---数据同步,它是线程编程的核心 ...
- C# ToString格式控制符
C 货币 2.5.ToString("C") ¥2.50 D 十进制数 25.ToString("D5") 00025 E 科学型 25000.ToString ...
- 自制AutoMapper实现DTO到持久层Entity的转换
自制AutoMapper实现DTO到持久层Entity的转换 项目中经常涉及到页面DTO更新,保存到数据库的操作,这就必然牵扯到DTO和持久层对象的转换,常见的第三方库有: java:dozer .n ...
- Arduino 串口篇 Arduino发送二进制 send binary via RS232-to-USB to PC
有用的链接在这里:http://hi.baidu.com/mizuda/item/06b7fdc1d0e45a0ec710b2dd 更加详细的内容请查阅Arduino官方:http://arduino ...
- 输入参数能动态调决定调用哪个实现类 spring的一个特性
今天做公司的以前项目的时候发现项目中有个特别好的东西,记录下来,分享一下 发现spring有个这样的功能,我也不知道这个是东西应该怎么称呼,就是通过输入参数,动态决定调用接口的实现类.简单理解就是在s ...
- shell脚本作为保证PHP脚本不挂掉的守护进程实例
前几天开始跑一份数据名单,名单需要提供用户名.是否有手机号.是否有邮箱,用户名单我轻易的获取到了,但是,用户名单有2000w之多,并且去检测用户是否有手机号.是否有邮箱必须得通过一个对外开放的安全接口 ...
- 做个简单的Redis监控(源码分享)
Redis监控 Redis 是目前应用广泛的NoSQL,我做的项目中大部分都是与Redis打交道,发现身边的朋友也更多人在用,相对于memcached 来说,它的优势也确实是可圈可点.在随着业务,数据 ...