zoukankan      html  css  js  c++  java
  • [Leetcode] 8.String to Integer (atoi)

    本题题意是要自己写一个atoi函数(将字符串转换成整数),思想很简单,关键是有几处细节需要考虑:

    1.数字前面有空格,如s="    123456",空格需舍弃。
    2.数字前出现了不必要或多于的字符导致数字认证错误,输出0。如s="   b1234",s="  ++1233", s=" +-1121"。
    3.数字中出现了不必要的字符,返回字符前的数字。如s="   12a1", s=" 123  123"。
    4.数字越界,超过了范围(-2147483648--2147483647),分别返回-2147483648和2147483647。

    实现代码如下:

     1 class Solution
     2 {
     3 public:
     4     int myAtoi(string str)
     5     {
     6         if(str == "")
     7             return 0;
     8         int i = 0;
     9         long long res = 0;
    10         while(str[i] != '' && str[i] == ' ')
    11         {
    12             i ++;//舍弃前面空格
    13         }
    14         int flag = 1;
    15         if(str[i] == '-')//确定正负
    16         {
    17             flag = -1;
    18             i ++;
    19         }
    20         else if(str[i] == '+')
    21         {
    22             i ++;
    23         }
    24         while(str[i] != '')
    25         {
    26             if(str[i] >= '0' &&str[i] <= '9')
    27             {
    28                 res = res*10 + str[i] - '0';
    29                 if(res > INT_MAX)
    30                 {
    31                     if(flag == 1)
    32                         return INT_MAX;
    33                     else
    34                         return INT_MIN;
    35                 }
    36                 i ++;
    37             }
    38             else break;
    39         }
    40         res = flag * res;
    41         return (int)res;
    42     }
    43 };
  • 相关阅读:
    Maven安装及配置
    Java部分概念理解
    API.day01
    随机生成10元素数组并找出最大元素(Java)
    冒泡排序(Java)
    俄罗斯方块部分功能(Java)
    判断闰年(Java)
    判断质数(Java)
    基于DSP的IS95正向业务信道模块设计
    Lua程序设计(4th) 第一部分 语言基础
  • 原文地址:https://www.cnblogs.com/lca1826/p/6361310.html
Copyright © 2011-2022 走看看