把字符串转换成整数(2014年阿里巴巴实习生招聘面试题)
题目:写一个strToInt函数,实现字符串str转换成整数num。
如何将字符串转换成整数,本文使用Java列出了三种方法:
1、利用java.lang.Integer类中的静态函数parseInt(String str)
int num = Integer.parseInt(str);
2、同样是利用java.lang.Integer中的函数,先将字符串转换成Integer对象,再得到整数
int num = Integer.valueOf(str).intValue();
3、第三种方法不采用jdk库中已经封装好的字符串转整数的方法,而是自己实现
public class Program {private static String status = "valid"; // 记录str是否可以转换成numpublic int strToInt(String str) {status = "invalid";long num = 0;char[] chars = str.toCharArray();if (str != null && str != "") {boolean minus = false; // 用于记录num是否是负数if (chars[0] == '+') {str = str.replace("+", "");} else if (chars[0] == '-') {minus = true;str = str.replace("-", "");}if (str != "") {char[] digit = str.toCharArray();num = StrToIntCore(digit, minus);}}return (int)num;}private long StrToIntCore(char[] digit, boolean minus) {long num = 0;int index = 0; // 索引下标while (index < digit.length) {if (digit[index] >= '0' && digit[index] <= '9') {int flag = minus ? -1 : 1;num = num * 10 + flag * (digit[index] - '0');if ( (!minus && num > 0x7fffffff) || (minus && num < 0x80000000) ) {num = 0;break;}++index;} else {num = 0;break;}}if (index == digit.length) {status = "valid";}return num;}}
把字符串转换成整数(2014年阿里巴巴实习生招聘面试题)相关推荐
- oracle 转化为整数,字符串转换成整数——从源码学习
字符串转换成整数:输入一个表示整数的字符串,把该字符串转换成整数并输出,例如输入字符串"345",则输出整数345. 在笔试面试中,atoi 即「字符串转换成整数」是一个经典问题了 ...
- 将十六进制的字符串转换成整数
#include "stdafx.h" #include<stdio.h> #include<string.h>/*将大写字母转换成小写字母*/ int t ...
- python 字符串转换成整数
| String to Int 写一个函数 StrToInt,实现把字符串转换成整数这个功能.不能使用 atoi 或者其他类似的库函数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个 ...
- 程序员面试题精选100题(17)-把字符串转换成整数[算法]
题目:输入一个表示整数的字符串,把该字符串转换成整数并输出.例如输入字符串"345",则输出整数345. 分析:这道题尽管不是很难,学过C/C++语言一般都能实现基本功能,但不同程 ...
- 判断字符为空_49. 把字符串转换成整数(剑指offer)
49. 把字符串转换成整数 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0. 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输 ...
- 2019-02-26-算法-进化(字符串转换成整数)
题目描述: 请你来实现一个 atoi 函数,使其能将字符串转换成整数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止. 当我们寻找到的第一个非空字符为正或者负号时,则 ...
- 在要求输入数字处找到非数字字符_剑指 Offer 67. 把字符串转换成整数 leetcode 剑指offer系列...
点击专辑上方"蓝字"关注我吧 题目难度: 中等 原题链接[1] 今天继续更新剑指 offer 系列, 老样子晚上 6 点 45 分准时更新公众号 每日精选算法题, 大家记得关注哦~ ...
- 【Java】 剑指offer(67) 把字符串转换成整数
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 请你写一个函数StrToInt,实现把字符串转换成整数这个功能 ...
- leetcode —— 面试题67. 把字符串转换成整数
写一个函数 StrToInt,实现把字符串转换成整数这个功能.不能使用 atoi 或者其他类似的库函数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止. 当我们寻找到 ...
最新文章
- 个人学习某个系统或平台的3问式的整理和细化指引
- 95页重磅报告:全面预测未来5年趋势
- 【Android 逆向】函数拦截实例 ( 函数拦截流程 | ① 定位动态库及函数位置 )
- 八、给小白看的第一篇Python基础教程
- Java高级工程师必看系列,已拿到offer
- 从最大似然到EM算法浅解(转载)
- go 链路追踪_Go技术日报(20200911)
- (88)FPGA乘法器设计(移位相加乘法器)
- 解决Sql Server服务远程过程调用失败
- 约7459元!索尼Xperia 1即将亮相:全球首款4K骁龙855新机
- MySQL group_concat函数使用详解
- Linux 利用hosts.deny 防止暴力破解ssh
- 初探队与广度优先搜索
- 数据结构+算法+c++学习(写在前面)
- LightOJ - 1050 (唯一分解+推公式+乘法逆元)
- 数据结构 以数组的形式存储数据(c语言 干货满满)
- 看我是如何严辞拒绝同学借钱的
- DL | TensorFlow代码调试
- python和scre_python中变量命名的基本规则,标识符和关键字
- 用Python+小程序实现诗词大会的飞花令 !