劍指Offer | 把字符串轉換成整數

做了個劍指Offer的題目目錄,鏈接如下:
https://blog.csdn.net/mengmengdastyle/article/details/80317246

一、題目

將一個字符串轉換成一個整數,要求不能使用字符串轉換整數的庫函數。 數值爲0或者字符串不是一個合法的數值則返回0。
輸入描述:
輸入一個字符串,包括數字字母符號,可以爲空
輸出描述:
如果是合法的數值表達則返回該數字,否則返回0

二、思路

(1)ASCII
(American Standard Code for Information Interchange,美國標準信息交換代碼)是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言。它是現今最通用的單字節編碼系統,並等同於國際標準ISO/IEC 646。

  • a-z:97-122
  • A-Z:65-90
  • 0-9:48-57

三、代碼

public int StrToInt(String str) {
        //空字符串
        if (str.equals("") || str.length() == 0)
            return 0;
        char[] a = str.toCharArray();

        //正負號處理
        int fuhao = 0;
        if(a[0] == '-'){
            fuhao++;
        }

        int sum = 0;
        for(int i = fuhao; i < a.length; i++){
            if (a[i] == '+')
                continue;
            // ASCII碼   0-9:48-57
            if (a[i] < 48 || a[i] > 57){                
                return 0;
            }
            sum = sum * 10 + a[i] - 48;
        }
        return fuhao == 0 ? sum : sum * -1;
    }
發佈了121 篇原創文章 · 獲贊 30 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章