剑指offer - 把字符串转换成整数(Java实现)
思路:首先我们遍历数组,先确定这个字符串是否是一个合法的数字串,如果是一个合法的字符串,那么就在判断其是以 + 或者 - 开头的字符串还是不以 + 或者 - 开头的字符串,然后根据算法将其转化为整型;如果不是合法的字符串则输出 0。
public class Solution { public int StrToInt(String str) { if(str == null || str.length() == 0) return 0; int flag = 0; for(int i = 0; i < str.length(); ++ i) { if(i == 0 && (str.charAt(i) == '+' || str.charAt(i) == '-')) { //以 + 或者 - 开头的数字串 flag = 1; } else if(str.charAt(i) <= '9' && str.charAt(i) >= '0') {//数字串 continue; } else {//非数字串 flag = 2; break; } } int ans = 0; int i = 0; if(flag == 2) return 0; else { if(flag == 0) i = 0; else if(flag == 1) i = 1; for( ; i < str.length(); ++ i) {//转化为整型 ans = ans * 10 + (str.charAt(i) - '0'); } if(flag == 1 && str.charAt(0) == '-') ans = -ans; } return ans; } }
【剑指offer】题目全解 文章被收录于专栏
本专栏主要是刷剑指offer的题解记录