剑指offer-题49:把字符串转换成整数

原创 2018年04月17日 15:53:58

题目描述

将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0

实验平台:牛客网


解决思路:

这题需要抓住以下几个问题:1.传入的字符串是否是null或者空字符串”“;2.传入的字符串是否带正负号;3.传入的字符串里是否含有有除了正负号及数字外其他的字符等。针对这些可能出现的问题,我们需要考虑全面,提高代码的鲁棒性。具体代码如下:

java:

public class Solution {
    public int StrToInt(String str) {
        if (str == null || str.trim().length() == 0) {
            return 0;
        } else {
            char[] charArray = str.toCharArray();
            int num = 0;
            boolean minus = false;
            int i = 0;
            if (charArray[0] == '-') {
                minus = true;
                i = 1;
            } else if (charArray[0] == '+') {
                i = 1;
            }
            for (; i < charArray.length; i++) {
                if(charArray[i] < '0' || charArray[i] > '9'){
                    return 0;
                }else {
                    num = num * 10 + charArray[i] - '0';
                }
            }
            if(minus){
                return 0 - num;
            }else {
                return num;
            }
        }
    }
}

python:

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wang454592297/article/details/79976075

【剑指offer-Java版】49把字符串转换为整数

字符串转换为整数 : atoi可能的输入: 1 带符号数 2 无符号数 3 零 4 空指针 5 超出表示范围 – 暂时仅仅是直接退出且设置最小 – 可以考虑此时抛个异常 6 非法输入,比如...
  • Sugar_Z_
  • Sugar_Z_
  • 2016-04-27 09:48:55
  • 1223

剑指offer-把字符串转换成整数

题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 输入描述:输入一个字符串,包括数字字母符号,可以为空 输出描述:如果是合法...
  • zjxxyz123
  • zjxxyz123
  • 2018-04-02 15:52:25
  • 3

剑指Offer--039-二叉树的深度

链接 牛客OJ:二叉树的深度 九度OJ:http://ac.jobdu.com/problem.php?pid=1350 GitHub代码: 039-二叉树的深度 C...
  • gatieme
  • gatieme
  • 2016-05-07 20:39:04
  • 1365

【剑指offer】二叉树的深度

题目:输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 方法一分析:主要思想就是层序遍历,就是有遍历上一层的每一个节点,得到下...
  • cdwxx1234
  • cdwxx1234
  • 2017-07-15 14:27:07
  • 180

牛客网刷题--剑指offer(两个栈实现队列)

牛客网给出的题目要求是用两个栈数据结构实现一个队列的push和pop操作。 两个栈实现队列这是很好理解的。因为栈的特性是后进先出(LIFO),而队列的特性是先进先出(FIFO),那两个栈连在一块儿,...
  • liu_sheng_1991
  • liu_sheng_1991
  • 2016-06-29 17:56:24
  • 437

《剑指Offer》面试题:将字符串转换为整数

题目 题目:把字符串转化为整数 ,若输入无效,则返回0且将标志位设为true 自己以前在一些书上面看到过关于 字符串转化为整数的例子,心中有点印象,知道要考虑一些特殊情况。今天决定写下这段代码,...
  • u010412719
  • u010412719
  • 2015-08-30 20:02:32
  • 1677

剑49—把字符串转换成整数

题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: ...
  • hefenglian
  • hefenglian
  • 2018-04-13 23:33:14
  • 3

牛客网剑指offer-用两个栈实现一个队列

思路:有两个栈,栈1和栈2.当入栈的时候,我们将它全放进栈1中,当需要出栈的时候,我们将栈1出栈到栈2中,然后再将栈2依次出栈。出完栈之后,再把stack2中的数pop出push到stack1,接受下...
  • Suyebiubiu
  • Suyebiubiu
  • 2017-12-12 15:46:19
  • 81

剑指offer面试题28: 字符串的排列

题目: 字符串的排列 热度指数:5777 时间限制:1秒 空间限制:32768K 本题知识点: 字符串 题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc...
  • yanglr2010
  • yanglr2010
  • 2016-09-28 16:44:42
  • 791

剑指offer--面试题49:把字符串转换成整数

题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0  输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述...
  • qingyujean
  • qingyujean
  • 2016-09-28 16:07:32
  • 189
收藏助手
不良信息举报
您举报文章:剑指offer-题49:把字符串转换成整数
举报原因:
原因补充:

(最多只允许输入30个字)