博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
剑指Offer——把字符串转换成整数
阅读量:5135 次
发布时间:2019-06-13

本文共 780 字,大约阅读时间需要 2 分钟。

题目描述:

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

输出描述:

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

输入

+2147483647    1a33

输出

2147483647    0

分析:

 只可能在最开始一位出现符号,所以我们特殊判断第一位,之后都得是数字字母,不然不合法。

代码:

1 class Solution { 2 public: 3     int StrToInt(string str) { 4         int strLen = str.length(); 5         if(strLen == 0) return 0; 6         int res = 0; 7         if(str[0] == '+' || str[0] == '-') res = 0; 8         else if(str[0] >= '0' && str[0] <= '9') res = str[0] - '0'; 9         for(int i = 1; i < strLen; i++) {10             if(str[i] < '0' || str[i] > '9') return 0;11             res *= 10;12             res += str[i] - '0';13         }14         return str[0] == '-' ? -res : res;15     }16 };

 

转载于:https://www.cnblogs.com/jacen789/p/7747765.html

你可能感兴趣的文章
PAT 1045 快速排序(25)(STL-set+思路+测试点分析)
查看>>
判断字符串中是否存在的几种方案:string.indexof、string.contains、list.contains、list.any几种方式效率对比...
查看>>
集合框架
查看>>
【Lintcode】076.Longest Increasing Subsequence
查看>>
虚拟路径
查看>>
js键盘相关知识总结
查看>>
Python中数据类型转换
查看>>
structed streaming基础---跳过的坑
查看>>
tomcat服务器开启gzip功能的方法
查看>>
Servlet细节
查看>>
c++选择排序
查看>>
Lambda应用(二)
查看>>
hadoop05---进程线程
查看>>
HTTPS实战之单向验证和双向验证
查看>>
遍历List集合的三种方法
查看>>
分治算法-快速排序
查看>>
洛谷 P1948 [USACO08JAN]电话线Telephone Lines
查看>>
linux文件查找-find和locate
查看>>
Excel列名序号互转
查看>>
Bootstrap框架(基础篇)之列表,表格,表单
查看>>