专栏首页尾尾部落[剑指offer] 把字符串转换成整数

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

题目描述

将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。

解题思路

常规思路,先判断第一位是不是符号位,如果有符号,有flag 做标记。 遍历字符串中的每个字符,如果存在非数字的字符,直接返回 0,否则,用当前字符减去’0’得到当前的数字,再进行运算。

参考代码

public class Solution {
    public int StrToInt(String str) {
        if(str.length() == 0)
            return 0;
        int flag = 0;
        if(str.charAt(0) == '+')
            flag = 1;
        else if(str.charAt(0) == '-')
            flag = 2;
        int start = flag > 0 ? 1 : 0;
        long res = 0;
        while(start < str.length()){
            if(str.charAt(start) > '9' || str.charAt(start) < '0')
                return 0;
            res = res * 10 + (str.charAt(start) - '0');
            start ++;
        }
        return flag == 2 ? -(int)res : (int)res;
    }
}

版权属于: 尾尾部落

原文地址: https://weiweiblog.cn/strtoint/

转载时必须以链接形式注明原始出处及本声明。

window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"1","bdSize":"24"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • [剑指offer] 顺时针打印矩阵

    输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...

    尾尾部落
  • [LeetCode]Longest Continuous Increasing Subsequence 最长连续增长序列 [LeetCode]Longest Continuous Incr

    链接:https://leetcode.com/problems/longest-continuous-increasing-subsequence/descr...

    尾尾部落
  • [剑指offer] 矩阵中的路径

    请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个...

    尾尾部落
  • 实战解决使用ghost安装系统出现的各种问题

    昨天使用ghost给人安装系统时,把另一个分区的数据都搞没了,安装完也只剩下一个分区,相信了解的同志们知道是什么原因。

    williamwong
  • 一文告诉你Spring是如何利用"三级缓存"巧妙解决Bean的循环依赖问题的【享学Spring】

    循环依赖:就是N个类循环(嵌套)引用。 通俗的讲就是N个Bean互相引用对方,最终形成闭环。用一副经典的图示可以表示成这样(A、B、C都代表对象,虚线代表引用...

    YourBatman
  • Json string值如何传递0x00-0xFF(5分钟理解Unicode,UTF8)

    项目中,想通过Json传递0x00-0xFF字符串,自然想到Json的string值。

    peakxie
  • LeetCode-8-String to Integer (atoi)

    讲字符串转化为整型。当然过程很简单,但是需要考虑的乱七八糟的情况很多,空格和正负号之类的。提交了一百次,终于过了,但是看到别人的代码还是很气呀,还是得多写才行,...

    小二三不乌
  • WEKA的使用指南

    “借着年终总结,回顾个好用的数据挖掘工具。” WEKA是一个貌似比较小众的数据挖掘工具,在应用的普遍性上远远不如R、Python等软件。我在机缘巧合之下,从一门...

    企鹅号小编
  • 相似图片搜索的原理(二)

    每张图片都可以生成颜色分布的直方图(color histogram)。如果两张图片的直方图很接近,就可以认为它们很相似。

    bear_fish
  • 相似图片搜索的原理(二)

    二年前,我写了《相似图片搜索的原理》,介绍了一种最简单的实现方法。 昨天,我在isnowfy的网站看到,还有其他两种方法也很简单,这里做一些笔记。 ? 一、颜色...

    ruanyf

扫码关注云+社区

领取腾讯云代金券