剑指Offer(Java实现)把字符串转换成整数
题目描述
将一个字符串转换成一个整数(实现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实现)把字符串转换成整数相关推荐
- 剑指offer:Python 把字符串转换成整数
阅读目录 题目描述 思路及Python实现 题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0 输入描述:输入一个字符串,包括数字 ...
- 【Java】 剑指offer(67) 把字符串转换成整数
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 请你写一个函数StrToInt,实现把字符串转换成整数这个功能 ...
- 剑指Offer(Java版):把字符串转换成整数
2019独角兽企业重金招聘Python工程师标准>>> 题目:实现一个函数 stringToInt,实现把字符串转换成整数这个功能,不能使用 atoi 或者其他类似的库函数. 题目解 ...
- 在要求输入数字处找到非数字字符_剑指 Offer 67. 把字符串转换成整数 leetcode 剑指offer系列...
点击专辑上方"蓝字"关注我吧 题目难度: 中等 原题链接[1] 今天继续更新剑指 offer 系列, 老样子晚上 6 点 45 分准时更新公众号 每日精选算法题, 大家记得关注哦~ ...
- 【LeetCode】剑指 Offer 67. 把字符串转换成整数
[LeetCode]剑指 Offer 67. 把字符串转换成整数 文章目录 [LeetCode]剑指 Offer 67. 把字符串转换成整数 package offer;public class So ...
- 剑指offer——面试题49:把字符串转换成整数
剑指offer--面试题49:把字符串转换成整数 Solution1: 代码写的啰嗦,但思路清晰..LeetCode上有相似的题目并考虑了溢出,可以参考LeetCode8答案 class Soluti ...
- [[EVD]] - 剑指 Offer 67. 把字符串转换成整数
题目分析:[[EVD]] - 剑指 Offer 67. 把字符串转换成整数https://leetcode-cn.com/problems/ba-zi-fu-chuan-zhuan-huan-chen ...
- 判断字符为空_49. 把字符串转换成整数(剑指offer)
49. 把字符串转换成整数 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0. 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输 ...
- 【算法】剑指 Offer 67. 把字符串转换成整数
1.概述 写一个函数 StrToInt,实现把字符串转换成整数这个功能.不能使用 atoi 或者其他类似的库函数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止. 当 ...
- 牛客网剑指offer java 全部题解
经过数月的努力,终于更完了牛客网的66道剑指offer,以下的顺序和大家在牛客网的顺序是一样的(排序也花了不少时间),希望对大家找工作/提高算法能力能起到些许帮助. 每天一道剑指offer-二维数组中 ...
最新文章
- 一个链接orcal的标准链接方法
- C++转义字符 amp; keyword
- Java序列化,看这篇就够了!
- 小五思科技术学习笔记之SSH
- mysql数据被截断_有关Mysql数据截断问题的处理方法
- graph面板x轴模式包括哪些_激光五轴加工机床技术参数有哪些?
- 知乎引流实操:日吸200精准粉丝玩法分享
- 1 access中iif函数中的_在Access查询中使用IIF、Switch、Choose函数
- 工具介绍(3)- TS 视频文件分析工具神器
- 如何用计算机录视频,如何在电脑上录制正在播放的视频?原来方法这么简单
- qemu运行linux内核很慢,bugfix: Qemu 运行 ARM Linux 5.0 必现启动死机
- flutter中的常见色值设置
- 项目管理的九大知识领域
- antv g2 x轴两边留边距
- 十进制和二进制换算。vb版本
- Numpy库的三种矩阵乘法
- 投资理财--熊市笨小孩式交易75-25
- 字节跳动后端面经(17)
- 小程序之定位签到打卡=>腾讯地图SDK
- PostgreSQL 用 CTE语法 + 继承 实现平滑拆分大表
热门文章
- 计算机windows8黑屏怎么办,老司机为你解说win8系统电脑黑屏开不了机的处理办法...
- SSH免密登录详细操作步骤
- java 注解学习_java注解的学习
- Cannot perform runtime binding on a null reference
- HBase解决海量图片存储方案
- .net的字符串插值,格式化字符串
- How Many Answers Are Wrong HDU - 3038(带权并查集经典题,满满的都是注释)
- 用python做自己主动化測试--绘制系统性能趋势图和科学计算
- 从注册流程 分析如何安全退出多个Activity 多种方式(附DEMO)
- Fibonacci 数列