亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

leetCode 8. String to Integer (atoi) 字符串

發布時間:2020-05-25 10:05:08 來源:網絡 閱讀:308 作者:313119992 欄目:編程語言

8. String to Integer (atoi)

Implement atoi to convert a string to an integer.

Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possible input cases.

Notes: It is intended for this problem to be specified vaguely (ie, no given input specs). You are responsible to gather all the input requirements up front.

Update (2015-02-10):
The signature of the C++ function had been updated. If you still see your function signature accepts a const char * argument, please click the reload button  to reset your code definition.

題目大意:該題目是說將string類型的字符串轉換成整型數據,類似于C++庫里的atoi函數,解決該題目的關鍵在于兩個方面:

(1)字符串格式的合法判斷

(2)轉換結果的溢出判斷

首先,對于字符串格式,空格不計入計算,應從第一個非空字符開始判斷,首字母只能是符號(+、-)與數字的一種;從計算開始遍歷字符串,到最后一位數字為止;

其次,對于轉換結果,我們知道整型數據的范圍是INT_MIN(-2147482648)到INT_MAX(2147483647),超出范圍則返回最大與最小值。所以我們可以開始用long long類型的變量存儲結果;


代碼如下:

class Solution {
public:
    int myAtoi(string str) {
    	if (str.empty())
    		return 0;
    	int flag = 1;//flag 1正 -1負
    	long long result = 0;
    
    	int i = 0;
    	while (str[i] == ' ')
    	{
    		i++;
    	}
    
    	if (str[i] == '-')
    	{
    		i++;
    		flag = -1;
    
    	}
    	else if (str[i] == '+')
    	{
    		i++;
    	}
    
    	for (int j = i; j < str.length(); j++)
    	{
    		if (str[j] >= '0' && str[j] <= '9')
    		{
    			result = result * 10 + (str.at(j) - '0');
    			if (result > 2147483647)
    			{
    				if (flag == 1)
    					result = INT_MAX;
    				else
    				{
    					result = INT_MIN;
    					flag = 1;
    				}
    				break;
    			}
    		}
    		else
    			break;
    	}
    	return flag * result;
    }
};


2016-08-09 00:18:49

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

荥经县| 伊金霍洛旗| 册亨县| 钦州市| 商水县| 张家川| 贵阳市| 高青县| 竹北市| 姜堰市| 黄石市| 静乐县| 南城县| 万州区| 白河县| 沙雅县| 朝阳县| 壶关县| 鹿邑县| 济阳县| 宜黄县| 江陵县| 抚州市| 南和县| 沿河| 纳雍县| 遵义市| 彩票| 马龙县| 河源市| 信丰县| 临西县| 安宁市| 东港市| 绿春县| 怀来县| 北流市| 临夏市| 满洲里市| 资阳市| 图木舒克市|