博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode:8. String to Integer (atoi)
阅读量:5051 次
发布时间:2019-06-12

本文共 2029 字,大约阅读时间需要 6 分钟。

这题难就难在不知道要考虑那些情况,也没个实例

参考:有四个条件需要考虑:

自己参考上面四个条件写出了自己的代码,结果老是错。例如:“+-2”,结果应该是0

参考实现

/*     * 8. String to Integer (atoi)     * Implement atoi to convert a string to an integer.     * 2016-2-20     */    public static int myAtoi(String str) {        if (str == null || str.length() < 1) {            return 0;        }        str = str.trim();   // kill add white spaces        int i = 0;          // index of str        char flag = '+';    // default positive        if (str.charAt(0) == '-') {            flag = '-';            i++;        } else if (str.charAt(0) == '+') {            i++;        }        double res = 0;        // abandon the non-digit char; calculate the result        while (str.length() > i && str.charAt(i) >= '0' && str.charAt(i) <= '9') {            res = res * 10 + str.charAt(i) - '0';            i++;        }        if (flag == '-') res = -1 * res;        if (res > Integer.MAX_VALUE) {            return Integer.MAX_VALUE;        } else if (res < Integer.MIN_VALUE) {            return Integer.MIN_VALUE;        }        return (int) res;    }

自己的代码:

class Solution {     public static int myAtoi(String str) {            if(str ==null ||str.length()<1){                return 0;            }            str = str.trim();            char flag = '+';            int j=0;            if(str.charAt(0)=='-'){                flag = '-';                j++;            }else if(str.charAt(0)=='+'){                flag = '+';                j++;            }            double result = 0;            for (int i = j; i < str.length()&&str.charAt(i) >= '0' && str.charAt(i) <= '9'; i++) {                    result = result*10 + str.charAt(i)-'0';                    }            if (flag == '-') result = -1 * result;            if (result > Integer.MAX_VALUE) {                return Integer.MAX_VALUE;            } else if (result < Integer.MIN_VALUE) {                return Integer.MIN_VALUE;            }            return (int) result;        }}

 

转载于:https://www.cnblogs.com/Michael2397/p/8072551.html

你可能感兴趣的文章
token简单的使用流程。
查看>>
django创建项目流程
查看>>
Vue 框架-01- 入门篇 图文教程
查看>>
多变量微积分笔记24——空间线积分
查看>>
poi操作oracle数据库导出excel文件
查看>>
(转)Intent的基本使用方法总结
查看>>
Windows Phone开发(24):启动器与选择器之发送短信
查看>>
JS截取字符串常用方法
查看>>
Google非官方的Text To Speech和Speech Recognition的API
查看>>
stdext - A C++ STL Extensions Libary
查看>>
Django 内建 中间件组件
查看>>
bootstrap-Table服务端分页,获取到的数据怎么再页面的表格里显示
查看>>
进程间通信系列 之 socket套接字及其实例
查看>>
天气预报插件
查看>>
Unity 游戏框架搭建 (十三) 无需继承的单例的模板
查看>>
模块与包
查看>>
mysql忘记root密码
查看>>
apache服务器中设置目录不可访问
查看>>
嵌入式Linux驱动学习之路(十)字符设备驱动-my_led
查看>>
【NOIP模拟】密码
查看>>