atoi

LeetCode8:字符串转换整数 (atoi)

て烟熏妆下的殇ゞ 提交于 2020-02-27 09:33:40
请你来实现一个 atoi 函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。 该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被忽略,它们对于函数不应该造成影响。 注意:假如该字符串中的第一个非空格字符不是一个有效整数字符、字符串为空或字符串仅包含空白字符时,则你的函数不需要进行转换。 在任何情况下,若函数不能进行有效的转换时,请返回 0。 思路:1.先判断正负数差记录+-号 2.数字逐一读列表 3.输出列表,并添加正负号 class Solution: def myAtoi(self, str): str=str.lstrip() #去除左空格 num="0123456789" #数字 symbol={'-':-1,'+':1} #附号 if len(str)==0: return 0 res_lst=[] res_int=0 sign=1 flag=True if str[0] in symbol: #获取+-号 sign=symbol[str[0]] elif str[0] in num: #数字直接入列

C++中char,string与int类型转换

僤鯓⒐⒋嵵緔 提交于 2020-02-19 10:37:07
C++中char,string与int类型转换是一个不太好记的问题,在此总结一下,有好的方法会持续更新。 1.char与string char是基础数据类型,string是封装了一些操作的标准类,在使用上各有千秋。 1.1 char *或者char [ ]转换为 string时,可以直接赋值。 string x; string y; char *ptr1 = "sakura"; char ptr2[]= "waseda"; x = ptr1; y = ptr2; 1.2 string转换为char*或者char[ ]时,有3种方法。 1.2.1 使用string内置c_str()函数。注意不直接赋值,因为string类对象最后会析构导致左值成为空指针。附加结束符\0 string x = "waseda"; char *ptr; strcpy(ptr,x.c_str()); 1.2.2 使用string内置data()函数。不附加结束符\0 string x = "waseda"; char *ptr; strcpy(ptr,x.data()); 1.2.3 使用string内置copy()函数。不附加结束符\0 string str="waseda"; char ptr[10]; str.copy(ptr,5,0); 2.char与int 2.1 char数字 转int ,直接减

LeetCode-8. String to Integer (atoi)

独自空忆成欢 提交于 2020-02-16 21:07:43
https://www.cnblogs.com/king-lps/p/10679121.html 首先,这是一道比较蠢的题目,没有太多意思。 1. 原始题目 请你来实现一个 atoi 函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。 该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被忽略,它们对于函数不应该造成影响。 注意:假如该字符串中的第一个非空格字符不是一个有效整数字符、字符串为空或字符串仅包含空白字符时,则你的函数不需要进行转换。 在任何情况下,若函数不能进行有效的转换时,请返回 0。 说明: 假设我们的环境只能存储 32 位大小的有符号整数,那么其数值范围为 [−231, 231 − 1]。如果数值超过这个范围,qing返回 INT_MAX (231 − 1) 或 INT_MIN (−231) 。 示例 1: 输入: "42" 输出: 42 示例 2: 输入: " -42" 输出: -42 解释: 第一个非空白字符为 '-', 它是一个负号。 我们尽可能将负号与后面所有连续出现的数字组合起来,最后得到

LeetCode 08. String to Integer (atoi)

感情迁移 提交于 2020-02-15 12:27:14
8. String to Integer (atoi) 思路 实现atoi函数,即将字符串转换为对应数字。 atoi() 函数用来将字符串转换成整数(int),其原型为: int atoi (const char * str); atoi函数会扫描参数 str 字符串,跳过前面的空白字符(例如空格,tab缩进等), 直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时(’\0’)才结束转换,并将结果返回。 按照上面的说明转换即可(题目说了空白字符只考虑空格),为了防止溢出将结果用long long型存放。 C++ class Solution { private: int char2digit(const char c){ // 将字符转换为对应数字,若非数字则返回-1 if(c >= '0' && c <= '9') return int(c - '0'); return -1; } public: int myAtoi(string str) { long long res = 0; int len = str.size(), i = 0, minus_sign = 0; while(i < len && str[i] == ' ') i++; if(i < len && (str[i] == '-' || str[i] == '+')) if(str[i++] =

LeetCode8. 字符串转换整数 (atoi)

痞子三分冷 提交于 2020-02-12 20:56:07
LeetCode8. 字符串转换整数 (atoi) 请你来实现一个 atoi 函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。 该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被忽略,它们对于函数不应该造成影响。 注意:假如该字符串中的第一个非空格字符不是一个有效整数字符、字符串为空或字符串仅包含空白字符时,则你的函数不需要进行转换。 在任何情况下,若函数不能进行有效的转换时,请返回 0。 说明: 假设我们的环境只能存储 32 位大小的有符号整数,那么其数值范围为 [−231, 231 − 1]。如果数值超过这个范围,请返回 INT_MAX (231 − 1) 或 INT_MIN (−231) 。 class Solution { public: int myAtoi(string str) { long long res=0; int i=0, len=str.length(); while(i<len && str[i]==' ') i++;// 丢弃无用的开头空格字符 if(i==len) return 0;

字符串转换整数 (atoi)

痴心易碎 提交于 2020-02-09 03:23:08
LeetCode8. 字符串转换整数 (atoi)   请你来实现一个 atoi 函数,使其能将字符串转换成整数。   首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。   当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。   该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被忽略,它们对于函数不应该造成影响。   注意:假如该字符串中的第一个非空格字符不是一个有效整数字符、字符串为空或字符串仅包含空白字符时,则你的函数不需要进行转换。   在任何情况下,若函数不能进行有效的转换时,请返回 0。   说明:   假设我们的环境只能存储 32 位大小的有符号整数,那么其数值范围为 [−2 31 , 2 31 − 1]。如果数值超过这个范围,请返回 INT_MAX (2 31 − 1) 或 INT_MIN (−2 31 ) 。   示例 1: 输入 : "42" 输出 : 42   示例 2: 输入 : " -42" 输出 : - 42   解释: 第一个非空白字符为 ‘-’, 它是一个负号。       我们尽可能将负号与后面所有连续出现的数字组合起来,最后得到 -42 。   示例 3: 输入 :

C语言 字符串值转换成整型数值的方法

我们两清 提交于 2020-02-02 19:42:48
在C语言中将字符串值转化成整型值有如下几种方法 1.使用atoi函数 atoi的功能就是将字符串转为整型并返回。 它的描述为: 把参数 str 所指向的字符串转换为一个整数(类型为 int 型)。 其声明为 int atoi ( const char * str ) 它所在的头文件:stdlib.h 该函数返回转换后的长整数,如果没有执行有效的转换,则返回零。 实例: # include <stdio.h> # include <stdlib.h> # include <string.h> void main ( ) { int str1 = 0 ; char str2 [ 10 ] ; strcpy ( str2 , "123456789" ) ; str1 = atoi ( str2 ) ; printf ( "%d" , str1 ) ; //system("pause"); } 运行结果为:123456789 2.使用sscanf函数 它的声明为: int sscanf ( const char * str , const char * format , . . . ) 返回值 如果成功,则返回成功匹配和赋值的个数。如果到达文件末尾或发生读错误,则返回 EOF。 3.使用 -‘0’ 的方式 这种方式是我在同学作业中看到的一种方法 直接看实例 实例 # include

8. 字符串转换整数 (atoi) (leetcode)

ぃ、小莉子 提交于 2020-01-30 20:31:36
收获:   1.复习了正则表达式, re.findall() 返回的是符合条件的list   2. 当涉及到与全球变量比较大小,或者有边界值的时候需要灵活使用 min max   3. 学习到了 * 的用法,*只可在传参中使用 class Solution: def myAtoi(self, str: str) -> int: return min(max(int(*re.findall('^[+-]?\d+',str.lstrip())),-2**31),2**31-1) 来源: https://www.cnblogs.com/ChevisZhang/p/12243538.html

atoi()函数

梦想与她 提交于 2020-01-28 03:38:04
C 库函数 int atoi(const char *str) 把参数 str 所指向的字符串转换为一个整数(类型为 int 型) 函数原型: int atoi(const char *str); 头文件: #include <stdlib.h> //以下程序输出结果为 1 # define _CRT_SECURE_NO_WARNINGS # include <stdlib.h> # include <stdio.h> int main ( ) { char a [ ] = "-100" ; char b [ ] = "101" ; int c ; c = atoi ( a ) + atoi ( b ) ; printf ( "c = %d\n" , c ) ; return 0 ; } 来源: CSDN 作者: 不会code的菜鸟 链接: https://blog.csdn.net/CLZHIT/article/details/104041529

函数atof,atoi,atol,strtod,strtol,strtoul

大城市里の小女人 提交于 2020-01-25 10:51:20
atof (将字串转换成浮点型数) 相关函数 atoi,atol,strtod,strtol,strtoul 表头文件 #include <stdlib.h> 定义函数 double atof(const char *nptr); 函数说明 atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。 返回值 返回转换后的浮点型数。 附加说明 atof()与使用strtod(nptr,(char**)NULL)结果相同。 范例 /* 将字符串a 与字符串b转换成数字后相加*/ #include<stdlib.h> main() { char *a=”-100.23”; char *b=”200e-2”; float c; c=atof(a)+atof(b); printf(“c=%.2f\n”,c); } 执行 c=-98.23   atoi(将字符串转换成整型数) 相关函数 atof,atol,atrtod,strtol,strtoul 表头文件 #include<stdlib.h> 定义函数 int atoi(const char *nptr); 函数说明 atoi(