题目描述

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

输入描述

输入一个字符串,包括数字字母符号,可以为空

输出描述

如果是合法的数值表达则返回该数字,否则返回0

示例1

输入

+21474836471a33

输出

21474836470

解题思路

主要分成三种情况(不包含为null或length为0):

(1)若为负数,则最后要带上负号,输出为负数;

(2)若为正数,则正常输出;其中,字符0对应48,9对应57,即范围应该 [48, 57]

(3)若含有非法字符(>57 或 <48),则返回0。

代码实现

public class Solution {public int StrToInt(String str) {if (null == str || 0 == str.length()) {return 0;}char[] chars = str.toCharArray();int mark = 0;int number = 0;if ('-' == chars[0]) {mark = 1;}for (int i = mark; i < chars.length; i++) {if ('+' == chars[i]) {continue;}if (chars[i] < 48 || chars[i] > 57) {return 0;}number = number * 10 + chars[i] - 48;}return 1 == mark ? -number : number;}
}

剑指Offer(Java实现)把字符串转换成整数相关推荐

  1. 剑指offer:Python 把字符串转换成整数

    阅读目录 题目描述 思路及Python实现 题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0 输入描述:输入一个字符串,包括数字 ...

  2. 【Java】 剑指offer(67) 把字符串转换成整数

      本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 请你写一个函数StrToInt,实现把字符串转换成整数这个功能 ...

  3. 剑指Offer(Java版):把字符串转换成整数

    2019独角兽企业重金招聘Python工程师标准>>> 题目:实现一个函数 stringToInt,实现把字符串转换成整数这个功能,不能使用 atoi 或者其他类似的库函数. 题目解 ...

  4. 在要求输入数字处找到非数字字符_剑指 Offer 67. 把字符串转换成整数 leetcode 剑指offer系列...

    点击专辑上方"蓝字"关注我吧 题目难度: 中等 原题链接[1] 今天继续更新剑指 offer 系列, 老样子晚上 6 点 45 分准时更新公众号 每日精选算法题, 大家记得关注哦~ ...

  5. 【LeetCode】剑指 Offer 67. 把字符串转换成整数

    [LeetCode]剑指 Offer 67. 把字符串转换成整数 文章目录 [LeetCode]剑指 Offer 67. 把字符串转换成整数 package offer;public class So ...

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

    剑指offer--面试题49:把字符串转换成整数 Solution1: 代码写的啰嗦,但思路清晰..LeetCode上有相似的题目并考虑了溢出,可以参考LeetCode8答案 class Soluti ...

  7. [[EVD]] - 剑指 Offer 67. 把字符串转换成整数

    题目分析:[[EVD]] - 剑指 Offer 67. 把字符串转换成整数https://leetcode-cn.com/problems/ba-zi-fu-chuan-zhuan-huan-chen ...

  8. 判断字符为空_49. 把字符串转换成整数(剑指offer)

    49. 把字符串转换成整数 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0. 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输 ...

  9. 【算法】剑指 Offer 67. 把字符串转换成整数

    1.概述 写一个函数 StrToInt,实现把字符串转换成整数这个功能.不能使用 atoi 或者其他类似的库函数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止. 当 ...

  10. 牛客网剑指offer java 全部题解

    经过数月的努力,终于更完了牛客网的66道剑指offer,以下的顺序和大家在牛客网的顺序是一样的(排序也花了不少时间),希望对大家找工作/提高算法能力能起到些许帮助. 每天一道剑指offer-二维数组中 ...

最新文章

  1. 一个链接orcal的标准链接方法
  2. C++转义字符 amp; keyword
  3. Java序列化,看这篇就够了!
  4. 小五思科技术学习笔记之SSH
  5. mysql数据被截断_有关Mysql数据截断问题的处理方法
  6. graph面板x轴模式包括哪些_激光五轴加工机床技术参数有哪些?
  7. 知乎引流实操:日吸200精准粉丝玩法分享
  8. 1 access中iif函数中的_在Access查询中使用IIF、Switch、Choose函数
  9. 工具介绍(3)- TS 视频文件分析工具神器
  10. 如何用计算机录视频,如何在电脑上录制正在播放的视频?原来方法这么简单
  11. qemu运行linux内核很慢,bugfix: Qemu 运行 ARM Linux 5.0 必现启动死机
  12. flutter中的常见色值设置
  13. 项目管理的九大知识领域
  14. antv g2 x轴两边留边距
  15. 十进制和二进制换算。vb版本
  16. Numpy库的三种矩阵乘法
  17. 投资理财--熊市笨小孩式交易75-25
  18. 字节跳动后端面经(17)
  19. 小程序之定位签到打卡=>腾讯地图SDK
  20. PostgreSQL 用 CTE语法 + 继承 实现平滑拆分大表

热门文章

  1. 计算机windows8黑屏怎么办,老司机为你解说win8系统电脑黑屏开不了机的处理办法...
  2. SSH免密登录详细操作步骤
  3. java 注解学习_java注解的学习
  4. Cannot perform runtime binding on a null reference
  5. HBase解决海量图片存储方案
  6. .net的字符串插值,格式化字符串
  7. How Many Answers Are Wrong HDU - 3038(带权并查集经典题,满满的都是注释)
  8. 用python做自己主动化測试--绘制系统性能趋势图和科学计算
  9. 从注册流程 分析如何安全退出多个Activity 多种方式(附DEMO)
  10. Fibonacci 数列