【题目】

把字符串转换成整数,需要考虑字符串有效性。

代码】

 C++ Code 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
 
bool bValid = true;

int str2int_core(const char *digit, bool minus)
{
    ;
    ;
    while(*digit != '\0')
    {
        if (*digit >= '0' && *digit <= '9')
        {
            sum =  * sum + flag * (*digit - '0');

// whether overflow ?
            if ((!minus && sum > (signed int)0x7fffffff)
                    || (minus && sum < (signed int)0x80000000))
            {
                sum = ;
                break;
            }
            digit ++;
        }
        else
        {
            sum = ;
            break;
        }
    }

if (*digit == '\0')
    {
        bValid = true;
    }
    return (int)sum;
}

int str2int(const char *str)
{
    bValid = false;
    ;
    if (NULL == str || *str == '\0')
        return (int)sum;
    bool minus = false;
    if (*str == '+')
    {
        str++;
    }
    else if (*str == '-')
    {
        str++;
        minus = true;
    }
    if (*str == '\0')
        return  (int)sum;

return str2int_core(str, minus);
}

void test_case(const char *str)
{
    int sum = str2int(str);
    if (bValid)
        cout << sum << endl;
    else
        cout << "Invalid input!" << endl;
}

【参考】

http://zhedahht.blog.163.com/blog/static/25411174200731139971/

最新文章

  1. 10gRAC vip启动报错CRS-1006 CRS-0215
  2. 修改TNSLSNR的端口
  3. Hibernate学习笔记
  4. Linux显示中文乱码解决方法
  5. 【原】Mongodb相关资料
  6. spring+hibernate+struts整合(1)
  7. Embedding R-generated Interactive HTML pages in MS PowerPoint(转)
  8. Django学习-6-路由系统
  9. PCB泪滴设计
  10. 微信小程序wx.navigateTo页面不跳转
  11. UI与开发的必备神器!— iDoc一键适配不同平台尺寸(iDoc201902-2新功能)
  12. highchart 柱状图,列宽自适应(x轴是时间的特殊情况)
  13. 关于JAVA架构师
  14. 深入浅出学习Hibernate框架(二):JDBC基础操作
  15. Volley的使用
  16. Var与Dynamic的区别
  17. [翻译] UIColor-uiGradientsAdditions
  18. INFORMATION_SCHEMA数据库介绍
  19. C++:CursorType光标类型 和 LockType锁定类型
  20. NumPy-快速处理数据--矩阵运算

热门文章

  1. iOS开发小技巧--UIScrollView内部子控件添加约束的注意点
  2. JS模式:简单的图书馆享元模式
  3. AMD&amp;CMD
  4. Java-set
  5. 45.Android 第三方开源库收集整理(转)
  6. Syntax error, annotations are only available if source level is 1.5
  7. jquery------脚注的使用
  8. 如何建立批处理文件(.bat或.cmd)
  9. 新浪微博客户端(17)-集成MJExtension
  10. 失落的C语言结构体封装艺术