91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

武隆县| 临西县| 云林县| 云梦县| 商城县| 南昌县| 南涧| 芒康县| 莒南县| 翁牛特旗| 天祝| 青神县| 瓦房店市| 玛纳斯县| 定南县| 嘉义县| 闸北区| 格尔木市| 鄂托克前旗| 禄丰县| 鲜城| 锦州市| 株洲县| 正阳县| 定安县| 浮山县| 乌海市| 陵川县| 皮山县| 乐山市| 莱芜市| 北辰区| 澄城县| 淄博市| 七台河市| 湖州市| 台北市| 镇远县| 龙井市| 石河子市| 福贡县|