c++字符串转换为整数_剑指offer算法题049:把字符串转换成整数

小编在求职找找工作期间剑指offer上的算法题刷了很多遍,并且 每道题小编当时都总结了一种最适合面试时手撕算法的最优解法 考虑到 剑指offer算法题在面试中的高频出现 ,小编每天和大家分享一道剑指offer上的算法题,以及小编总结的答案。下面是 第049是 道剑指offer算法题

题目描述

将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。数值为0或者字符串不是一个合法的数值则返回0

输入描述:
输入一个字符串,包括数字字母符号,可以为空
输出描述:
如果是合法的数值表达则返回该数字,否则返回0

示例1

输入

+2147483647
1a33

输出

2147483647
0

分析:

这道题主要考察编码能力,没有涉及到算法,所以直接上代码。本题的细节比较多,建议自己先手写一遍。

public class Solution {    public int StrToInt(String str) {        //字符0 ASCII为48    9为57;不在这范围内的都不是数字        //另外,a:97 A:65   z:122 Z:90        boolean isLegal = true;        boolean isNegative = false;                 int res = 0;        for(int i=0;i            char temp = str.charAt(i);            if(i==0){                if(temp=='-'){                    isNegative = true;                    continue;                }else if(temp=='+'){                    isNegative = false;                    continue;                }            }                               if(temp<'0' || temp>'9'){                   isLegal = false;                   break;               }else{                   int num = temp - '0';                   res *= 10;                   res += num;               }        }           if(!isLegal)    return 0;        if(isNegative)    return -res;        return res;    }}
猜你还想看
高考填志愿:优先选专业?还是优先选学校?优先选学校?各高校毕业生薪资统计!!
优先选专业?各专业薪资统计!!

长按,扫码,关注

及时收看更多精彩内容

6b736a256e9ee61cf9dee9a1f3cb954b.png

博主:今日头条大数据工程师专注:求职 面经 源码 java 大数据技术分享

点击”阅读原文“:领取5T精品资料面试总结100+实战项目

我知道你 “在看ea8acfd8c1c48be853a22213f0373d5e.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值