[AcWing 87] 把字符串转换成整数

点击查看代码
class Solution {
public:
    int strToInt(string str) {
        int k = 0;
        while (k < str.size() && str[k] == ' ')     k++;
        long long res = 0;
        int minus = 1;
        if (k < str.size()) {
            if (str[k] == '-')      minus *= -1, k++;
            else if (str[k] == '+')    k++;
        }
        while (k < str.size() && str[k] >= '0' && str[k] <= '9') {
            res = res * 10 + str[k] - '0';
            if (res > 1e11)     break;
            k++;
        }
        res *= minus;
        if (res > INT_MAX)  res = INT_MAX;
        if (res < INT_MIN)  res = INT_MIN;
        return res;
    }
};
- 每条边界条件都要处理好;
- res 定义为 long long;
- minus 用于记录正负;
- res 在 while 中用于记录结果的绝对值,当 res 很大 (res > 1e11) 时退出 while;
[AcWing 87] 把字符串转换成整数的更多相关文章
- 17.把字符串转换成整数[atoi]
		[题目] 把字符串转换成整数,需要考虑字符串有效性. [代码] C++ Code 123456789101112131415161718192021222324252627282930313233 ... 
- Java将ip字符串转换成整数的代码
		下面代码是关于Java将ip字符串转换成整数的代码,希望对各位有较大用途. public class IpUtil { public static int Ip2Int(String strIp){ ... 
- 【Java】 剑指offer(67) 把字符串转换成整数
		本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 请你写一个函数StrToInt,实现把字符串转换成整数这个功能 ... 
- 《剑指offer》第六十七题(把字符串转换成整数)
		// 面试题67:把字符串转换成整数 // 题目:请你写一个函数StrToInt,实现把字符串转换成整数这个功能.当然,不 // 能使用atoi或者其他类似的库函数. #include <ios ... 
- Python使用函数实现把字符串转换成整数
		需求:假设Python没有提供内置函数int如果使用函数方式实现把一串字符串转换成整数例如把字符串‘12345‘转换成整数12345 思路 1,字符串也是序列可以使用map函数处理分割成一个列表 2, ... 
- [Leetcode] String to integer atoi  字符串转换成整数
		Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. ... 
- 算法练习-字符串转换成整数(实现atoi函数)
		练习问题来源 https://leetcode.com/problems/string-to-integer-atoi/ https://wizardforcel.gitbooks.io/the-ar ... 
- 剑指Offer - 九度1508 - 把字符串转换成整数
		剑指Offer - 九度1508 - 把字符串转换成整数2014-02-06 23:46 题目描述: 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 输入: 输入可能包含多个测试样例 ... 
- 剑指offer——把字符串转换成整数(c++)
		题目描述请你写一个函数StrToInt,实现把字符串转换成整数这个功能.当然,不能使用atoi或者其他类似的库函数. 示例 1:输入: " -42"输出: -42解释: 第一个非空 ... 
随机推荐
- newFixedThreadPool的默认值
			可以点进去,每个的默认值都是不同的 
- 什么是MVC模式?   
			MVC (Model View Controller) 是一个设计模式,使用MVC应用程序被分成三个核心部件:模型.视图.控制器.它们各自处理自己的任务.M是指数据模型,V是指用户界面,C则是控制器. ... 
- Pipeline 有什么好处,为什么要用 pipeline?
			答:可以将多次 IO 往返的时间缩减为一次,前提是 pipeline 执行的指令之间没有 因果相关性.使用 redis-benchmark 进行压测的时候可以发现影响 redis 的 QPS 峰值的一 ... 
- Xml 映射文件中,除了常见的 select|insert|updae|delete  标签之外,还有哪些标签?
			<resultMap>.<parameterMap>.<sql>.<include>. <selectKey>,加上动态 sql 的 9 个 ... 
- java常用方法集合
			1.获取当前日期 // 获取当前日期 public Date getDate(int num) { Calendar cal = new GregorianCalendar(); cal.setTim ... 
- 什么是 REST / RESTful 以及它的用途是什么?
			Representational State Transfer(REST)/ RESTful Web 服务是一种帮助计 算机系统通过 Internet 进行通信的架构风格.这使得微服务更容易理解和实现 ... 
- Zookeeper 保证了如下分布式一致性特性?
			1.顺序一致性 2.原子性 3.单一视图 4.可靠性 5.实时性(最终一致性) 客户端的读请求可以被集群中的任意一台机器处理,如果读请求在节点上注册了 监听器,这个监听器也是由所连接的 zookeep ... 
- 解释 Spring 框架中 bean 的生命周期?
			Spring 容器 从 XML 文件中读取 bean 的定义,并实例化 bean. Spring 根据 bean 的定义填充所有的属性. 如果 bean 实现了 BeanNameAware 接口,Sp ... 
- js技术之循环for
			案例:把所有单词以空格为分割并将首字母转为大写 <!DOCTYPE html><html lang="en"><head> <meta c ... 
- Netty之非阻塞处理
			Netty 是一个异步的.基于事件驱动的网络应用框架,用以快速开发高性能.高可靠性的网络 IO 程序. 一.异步模型 同步I/O : 需要进程去真正的去操作I/O: 异步I/O:内核在I/O操作完成后 ... 
