1. 程式人生 > >劍指offer -- 把字串轉換成整數

劍指offer -- 把字串轉換成整數

題目描述

將一個字串轉換成一個整數(實現Integer.valueOf(string)的功能,但是string不符合數字要求時返回0),要求不能使用字串轉換整數的庫函式。 數值為0或者字串不是一個合法的數值則返回0。

  • 輸入描述:

輸入一個字串,包括數字字母符號,可以為空

  • 輸出描述:

如果是合法的數值表達則返回該數字,否則返回0

  • 示例1

輸入

+2147483647 1a33

輸出

2147483647 0

AC程式碼

public class Solution
{
    public int StrToInt(String str)
    {
        if (str == null ||
str.equals("")) return 0; char[] chars = str.toCharArray(); boolean negative = false; int index = 0; if (chars[0] == '-'){ negative = true; index = 1; } if (chars[0] == '+') index = 1; int sum = 0; for
(int i = index; i < chars.length; i++) { if (chars[i] < '0' || chars[i] > '9') return 0; sum = sum * 10 + chars[i] - '0'; } return !negative ? sum : sum * -1; } }