手机网站与pc网站同步,接私活app有哪些平台,个人网页设计ps,wordpress注册没有界面实现 atoi#xff0c;将字符串转为整数。 该函数首先根据需要丢弃任意多的空格字符#xff0c;直到找到第一个非空格字符为止。如果第一个非空字符是正号或负号#xff0c;选取该符号#xff0c;并将其与后面尽可能多的连续的数字组合起来#xff0c;这部分字符即为整数的…实现 atoi将字符串转为整数。 该函数首先根据需要丢弃任意多的空格字符直到找到第一个非空格字符为止。如果第一个非空字符是正号或负号选取该符号并将其与后面尽可能多的连续的数字组合起来这部分字符即为整数的值。如果第一个非空字符是数字则直接将其与之后连续的数字字符组合起来形成整数。 字符串可以在形成整数的字符后面包括多余的字符这些字符可以被忽略它们对于函数没有影响。 当字符串中的第一个非空字符序列不是个有效的整数或字符串为空或字符串仅包含空白字符时则不进行转换。 若函数不能执行有效的转换返回 0。 说明 假设我们的环境只能存储 32 位有符号整数其数值范围是 [−231, 231 − 1]。如果数值超过可表示的范围则返回 INT_MAX (231 − 1) 或 INT_MIN (−231) 。 示例 1: 输入: 42
输出: 42示例 2: 输入: -42
输出: -42
解释: 第一个非空白字符为 -, 它是一个负号。我们尽可能将负号与后面所有连续出现的数字组合起来最后得到 -42 。示例 3: 输入: 4193 with words
输出: 4193
解释: 转换截止于数字 3 因为它的下一个字符不为数字。示例 4: 输入: words and 987
输出: 0
解释: 第一个非空字符是 w, 但它不是数字或正、负号。因此无法执行有效的转换。 示例 5: 输入: -91283472332
输出: -2147483648
解释: 数字 -91283472332 超过 32 位有符号整数范围。 因此返回 INT_MIN解答: 1 int myAtoi(string str) {2 int res 0;3 int flag 1;4 int i 0;5 while(str[i] i str.size())6 i;7 if(i str.size())8 {9 if(str[i] -)
10 {
11 flag -1;
12 i;
13 }
14 else if(str[i] )
15 i;
16 else if(str[i] 0 || str[i] 9)
17 return 0;
18 for(; i str.size(); i)
19 {
20 if(str[i] 0 || str[i] 9)
21 break;
22 if(res INT_MAX / 10 || (res INT_MAX/10 str[i] - 0 INT_MAX %10))
23 return flag 0 ? INT_MAX : INT_MIN;
24 res res * 10 str[i] - 0;
25 }
26
27 }
28 return res * flag;
29 } 转载于:https://www.cnblogs.com/bzaq/p/9950360.html