[劍指offer] 把字符串轉換成整數(shù)

本文首發(fā)于我的個人博客:尾尾部落

題目描述

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

解題思路

常規(guī)思路,先判斷第一位是不是符號位,如果有符號,有flag 做標記。
遍歷字符串中的每個字符,如果存在非數(shù)字的字符,直接返回 0,否則,用當前字符減去'0'得到當前的數(shù)字,再進行運算。

參考代碼

public class Solution {
    public int StrToInt(String str) {
        if(str.length() == 0)
            return 0;
        int flag = 0;
        if(str.charAt(0) == '+')
            flag = 1;
        else if(str.charAt(0) == '-')
            flag = 2;
        int start = flag > 0 ? 1 : 0;
        long res = 0;
        while(start < str.length()){
            if(str.charAt(start) > '9' || str.charAt(start) < '0')
                return 0;
            res = res * 10 + (str.charAt(start) - '0');
            start ++;
        }
        return flag == 2 ? -(int)res : (int)res;
    }
}
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,587評論 0 13
  • 前言 最先接觸編程的知識是在大學里面,大學里面學了一些基礎的知識,c語言,java語言,單片機的匯編語言等;大學畢...
    oceanfive閱讀 3,398評論 0 7
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內(nèi)部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,816評論 18 399
  • 五句 1 他那件汗衫已經(jīng)從頭上扯了下來,可是依舊套在頸上,像草裙舞的花圈。 2 那個人,椰子似的圓滾滾的頭 3 霜...
    木生族閱讀 288評論 2 1
  • 海比特訓練營(初級)的第五法則:帶著能量去挑戰(zhàn)未知。 進入第五天的內(nèi)容,自然是在習慣規(guī)劃做好的前提下,啟動...
    Andy熙閱讀 187評論 0 0

友情鏈接更多精彩內(nèi)容