首页 > 代码库 > 剑指offer之【把字符串转换成整数】
剑指offer之【把字符串转换成整数】
题目:
把字符串转换成整数
链接:
https://www.nowcoder.com/practice/1277c681251b4372bdef344468e4f26e?tpId=13&tqId=11202&rp=3&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
题目描述:
将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0
输入描述: 输入一个字符串,包括数字字母符号,可以为空
输入例子:+2147483647 ,1a33
输出例子:21474838647 ,0
思路:
这个题目较简单,没有涉及科学计数
非数字的情况如+,-只能出现在第一位,所以对第一位数字进行判断,后续位置只能是数字,
代码:
1 class Solution{ 2 public: 3 int StrToInt(string str){ 4 int len = str.length(); 5 if(len <= 0){ 6 return 0; 7 } 8 int flag =1; 9 int sum = 0; 10 for(int i = 0;i<len;++i){ 11 if(i == 0){ 12 if(str[i] == ‘-‘){ 13 flag = -1; 14 } 15 else if(str[i]>=‘0‘ && str[i] <= ‘9‘){ 16 sum += (str[i] - ‘0‘); 17 } 18 else if(str[i] == ‘+‘){ 19 flag == 1; 20 } 21 else{ 22 return sum; 23 } 24 } 25 else if( str[i] < ‘0‘ || str[i] > ‘9‘){ 26 return 0; 27 } 28 else{ 29 sum = sum*10 + str[i]- ‘0‘; 30 } 31 } 32 return sum*flag; 33 } 34 };
剑指offer之【把字符串转换成整数】
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。