字符串转化成整数

1

将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),

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

输入 +2147483647
       1a33

输出

2147483647
        0

class Solution {
public:
    int StrToInt(string str) {

        int n = str.size(), s = 1;
        long long res = 0;
        if(!n) return 0;

        if(str[0] == ‘-‘)//代表符号位
         s = -1;
        for(int i = (str[0] ==  ‘-‘ || str[0] == ‘+‘) ? 1 : 0; i < n; ++i)
        {
            if(!(‘0‘ <= str[i] && str[i] <= ‘9‘)) return 0;
            //res = (res << 1) + (res << 3) + (str[i] & 0xf);
            res=res*10+str[i]-‘0‘;
        }
        return res * s;
    }
};

原文地址:https://www.cnblogs.com/cgy1012/p/11401920.html

时间: 2024-10-08 06:15:04

字符串转化成整数的相关文章

170319 剑指offer 1.把一个字符串转化成整数(简单问题的全面性考虑)

工作的时间越长,越感觉基础的重要性,当我们对程序的框架结构越来越熟悉的时候,越会注意这一点,在工作当中,功能的实现是重要的,但是代码的健壮性,重用性,与扩展性确往往更为重要,在学习新技术的同时,我们或许应该抽出一点时间,去思考代码可能出现的问题. 关于剑指offer的这本书,可能所有刚毕业找工作的人,或者准备找工作的人都曾经看过,但是当时我们面对一些东西的时候心情过于浮躁,往往忽视了简单的却又十分重要的环节,(ps:也可能只有我是这样) 面试中一道简单的问题(把一个字符串转化成整数) 可能接触c

Python3基础 int()把合格字符串转化成整数

镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.------------------------------------------ ex1: code: myStrOfTrue='1' print(int(myStrOfTrue)) result: ============= RESTART: C:/Users/Administrator/Desktop/mytest.py ============= 1 >>>

【2014-11-19】字符串转化成整数

int StrToInt(const char* str) {     long long num = 0;     bool minus = false;     if (str != NULL && *str != '\0')     {         if (*str == '+')             str++;         else if (*str == '-')         {             str++;             minus = tr

字符串转换成整数

题目描述 输入一个由数字组成的字符串,把它转换成整数并输出.例如:输入字符串"123",输出整数123. 给定函数原型int StrToInt(const char *str) ,实现字符串转换成整数的功能,不能使用库函数atoi. 分析与解法 基本思路为:从左至右扫描字符串,把之前得到的数乘以10,然后加上当前字符所表示的数字. 然而,我们需要考虑以下几个问题: 输入为空指针时 数字前面的正负号 非法的字符 整形溢出 前三个问题很容易解决,这里主要考虑整形溢出的问题.一般来说,当发生

将字符串转成整数的函数给我看一下吗,简单看一下代码基本功。要求:不要调用parseInt等转换函数

为了提高面试流程效率,方便用java写一段将字符串转成整数的函数给我看一下吗,简单看一下代码基本功. 要求:不要调用parseInt等转换函数.按位读取字符串里的字符进行处理将字符串转化为整数, 不考虑整数溢出问题,给定的输入一定是合法输入不包含非法字符,字符串头尾没有空格, 考虑字符串开头可能有正负号.public int StringToInt(String str) import javax.net.ssl.SSLContext; /** * 字符串转为int * @author IT *

剑指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

laravel 将数组转化成字符串 再把字符串转化成数组

这是在给阮少翔改代码的时候用的方法, 开始的数据用explored转化成数组不是想要的结果, 我就自己写了一个方法把有用的信息提取出来拼接成一个字符串, 再用explored将字符串转化成数组.   方法有点笨, 但是最后是解决了阮少翔的问题 $re1 = DB::table('admin_user') ->join('admin_role_user','admin_user.id','=','admin_role_user.user_id') ->select('admin_role_use

剑指offer 把字符串转化为整数

题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: 如果是合法的数值表达则返回该数字,否则返回0 示例1 输入 +2147483647 1a33 输出 2147483647 0 思路:字符串转化为整数的方法num = num * 10 + str[i] - '0':特殊情况:1.输入字符串为NULL: 2.输入字符串只有+/-: 3.转化的数字大于最大值或小于

程序员面试50题(4)—把字符串转换成整数[算法]

题目:输入一个表示整数的字符串,把该字符串转换成整数并输出.例如输入字符串"345",则输出整数345. 分析:这道题尽管不是很难,学过C/C++语言一般都能实现基本功能,但不同程序员就这道题写出的代码有很大区别,可以说这道题能够很好地反应出程序员的思维和编程习惯,因此已经被包括微软在内的多家公司用作面试题.建议读者在往下看之前自己先编写代码,再比较自己写的代码和下面的参考代码有哪些不同. 首先我们分析如何完成基本功能,即如何把表示整数的字符串正确地转换成整数.还是以"345