剑指offer: 把字符串转换成整数

来源:互联网 发布:淘宝联盟提现规则 编辑:程序博客网 时间:2024/06/04 18:23

题目描述

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


输出描述:
如果是合法的数值表达则返回该数字,否则返回0

输入例子:
+2147483647    1a33

输出例子:
2147483647

0

class Solution {public:int StrToInt(string str) {int size = str.size();int flag = 1;//正数为1,复数为-1int number = 0;for (int i = 0; i < size; ++i){if (str[i] == '+'){if (i == 0)flag = 1;elsereturn 0;continue;}if (str[i] == '-'){if (i == 0)flag = -1;elsereturn 0;continue;}if (str[i] - '0' >= 0 && str[i] - '0' <= 9){number *= 10;number += str[i] - '0';}elsereturn 0;}return number*flag;}};


0 0