LeetCode【7--整數反轉】 LeetCode【8--字符串轉整數】

整數反轉

題目描述

給出一個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。
在這里插入圖片描述

解題思路

x%10 取一位,x/10下一位,注意越界,

代碼實現

class Solution {
public:int reverse(int x) {int sum = 0;while(x){if(sum<INT_MIN/10) return 0;if(sum>INT_MAX/10)return 0;sum=sum*10+x%10;x/=10;}return sum;}
};

字符串轉整數

題目描述

請你來實現一個 atoi 函數,使其能將字符串轉換成整數。

首先,該函數會根據需要丟棄無用的開頭空格字符,直到尋找到第一個非空格的字符為止。

當我們尋找到的第一個非空字符為正或者負號時,則將該符號與之后面盡可能多的連續數字組合起來,作為該整數的正負號;假如第一個非空字符是數字,則直接將其與之后連續的數字字符組合起來,形成整數。

該字符串除了有效的整數部分之后也可能會存在多余的字符,這些字符可以被忽略,它們對于函數不應該造成影響。

注意:假如該字符串中的第一個非空格字符不是一個有效整數字符、字符串為空或字符串僅包含空白字符時,則你的函數不需要進行轉換。

在任何情況下,若函數不能進行有效的轉換時,請返回 0。

說明:

假設我們的環境只能存儲 32 位大小的有符號整數,那么其數值范圍為 [?231, 231 ? 1]。如果數值超過這個范圍,請返回 INT_MAX (231 ? 1) 或 INT_MIN (?231) 。

解題思路

第一步

去除字符串中的所有空格,只記錄有效字符的下標
如果都是空格,就直接返回0

int length = s.size();
int index = 0;
while(index < length)
{if(s[length] != ' ')break;index++;
}
if(index == length)return 0;

第二步

判斷正負,用個標記為來表示,起初為正

int signal = 1;
if(s[index] = '+')index++;
else if(s[index] = '-')
{	singal = -1;index++;
}

第三步

轉換,首先判斷是否越界,再進行轉換,

int res = 0; //保存結果
while(index<legnth)
{//1.取一個字符char Cur = s[index];//2.判斷是否為數字字符if(Cur < '0' || Cur >'9')break;//3.判斷是否越界if (res > INT_MAX / 10 || (res == INT_MAX / 10 && (curChar - '0') > INT_MAX % 10)) {return INT_MAX;}if (res < INT_MIN / 10 || (res == INT_MIN / 10 && (curChar - '0') > -(INT_MIN % 10))) {return INT_MIN;}//4.轉換res = res*10 + signal*(Cur - '0');//5.取下一個字符index++;
}

代碼實現

class Solution {
public:int myAtoi(string str) {unsigned long len = str.length();int index = 0;while (index < len) {if (str[index] != ' ') {break;}index++;}//如果全部是空格,直接返回0if (index == len) {return 0;}int sign = 1;if (str[index] == '+') {index++;} else if (str[index] == '-') {sign = -1;index++;}int res = 0;while (index < len) {char curChar = str[index];if (curChar < '0' || curChar > '9') {break;}if (res > INT_MAX / 10 || (res == INT_MAX / 10 && (curChar - '0') > INT_MAX % 10)) {return INT_MAX;}if (res < INT_MIN / 10 || (res == INT_MIN / 10 && (curChar - '0') > -(INT_MIN % 10))) {return INT_MIN;}res = res * 10 + sign * (curChar - '0');index++;}return res;}
};

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/383074.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/383074.shtml
英文地址,請注明出處:http://en.pswp.cn/news/383074.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

word2003如何設置護眼模式_ERP系統上線,如何設置采購收貨的模式,提升企業的采購效率...

如何合理的規劃采購計劃上次去拜訪一個朋友&#xff0c;他們說公司既然出現沒有下達采購訂單&#xff0c;供應商也有送貨過來的事情&#xff0c;對于公司來說&#xff0c;這個是非常嚴重的問題。若用了ERP系統之后&#xff0c;如何避免類似的事情發生&#xff0c;今天我們來分享…

LeetCode【9-- 回文數】LeetCode【10 --正則表達式的匹配】

回文數 題目描述 判斷一個整數是否是回文數。回文數是指正序&#xff08;從左向右&#xff09;和倒序&#xff08;從右向左&#xff09;讀都是一樣的整數。 解題思路 判斷該數的逆序數是不是和原數相同 代碼實現 class Solution { public:bool isPalindrome(int x) {if(…

sun鍵盤沒有stop鍵_請教Sun鍵盤

請教Sun鍵盤(2011-12-24 06:01:11)標簽&#xff1a;計算機雜談請教Sun鍵盤Sun鍵盤上,Help和F1之間的空白鍵是干啥的?Space旁邊的兩個菱形標志的呢?Compose呢?謝謝!請教Sun鍵盤Space旁邊的兩個菱形標志是一個類似Ctrl、Alt的修飾鍵&#xff0c;叫Meta。可以用Meta;鍵名來定義…

LeetCode【11--盛水最多的容器】LeetCode【12 -- 整數轉羅馬數字】

盛水最多的容器 題目描述 給定 n 個非負整數 a1&#xff0c;a2&#xff0c;…&#xff0c;an&#xff0c;每個數代表坐標中的一個點 (i, ai) 。在坐標內畫 n 條垂直線&#xff0c;垂直線 i 的兩個端點分別為 (i, ai) 和 (i, 0)。找出其中的兩條線&#xff0c;使得它們與 x 軸共…

LeetCode【13--羅馬數字轉整數】LeetCode【14--最長的公共前綴】

羅馬數字轉整數 題目描述 羅馬數字包含以下七種字符: I&#xff0c; V&#xff0c; X&#xff0c; L&#xff0c;C&#xff0c;D 和 M。 例如&#xff0c; 羅馬數字 2 寫做 II &#xff0c;即為兩個并列的 1。12 寫做 XII &#xff0c;即為 X II 。 27 寫做 XXVII, 即為 XX…

linux 編譯3g驅動_linux下使用3G撥號上網 以及3g驅動設置

中興WCDMA模塊 Linux撥號流程Version 1.0目錄1. 測試準備……………………………………………………..…32. 撥號腳本………………………………………………………133. 撥號過程………………………………………………………161. 測試準備本文檔測試模塊&#xff1a;MF210(中興W…

文件壓縮(基于LZ77的壓縮)

LZ77壓縮原理 初始LZ77 LZ77是基于字節的通用壓縮算法&#xff0c;它的原理就是將源文件中的重復字節(即在前文中出現的重復字節)使用(offset&#xff0c;length&#xff0c;nextchar)的三元組進行替換 這里的 長度–offset&#xff0c;距離—length&#xff0c;先行緩沖匹配…

好中的圖像處理方面的期刊_約會中,注意這四個方面,幫助你把握好自己的真愛...

兩個人想要擁有一段美好的感情&#xff0c;那么男生就要掌握好一些技巧去追求對方&#xff0c;在追求的過程中&#xff0c;兩個人的約會也非常重要&#xff0c;畢竟只有約會過程中&#xff0c;女孩子才能夠看到你光鮮亮麗的一面&#xff0c;才能夠慢慢的接受你&#xff0c;如果…

kafka consumer配置拉取速度慢_Kafka消費者的使用和原理

這周我們學習下消費者&#xff0c;仍然還是先從一個消費者的Hello World學起&#xff1a;public class Consumer { public static void main(String[] args) { // 1. 配置參數 Properties properties new Properties(); properties.put("key.des…

前綴和

前綴和 輸入一個長度為n的整數序列。 接下來再輸入m個詢問&#xff0c;每個詢問輸入一對l, r。 對于每個詢問&#xff0c;輸出原序列中從第l個數到第r個數的和。 輸入格式 第一行包含兩個整數n和m。 第二行包含n個整數&#xff0c;表示整數數列。 接下來m行&#xff0c;…

子矩陣的和

題目描述 輸入一個n行m列的整數矩陣&#xff0c;再輸入q個詢問&#xff0c;每個詢問包含四個整數x1, y1, x2, y2&#xff0c;表示一個子矩陣的左上角坐標和右下角坐標。 對于每個詢問輸出子矩陣中所有數的和。 輸入格式 第一行包含三個整數n&#xff0c;m&#xff0c;q。 …

jmeter 循環取值賦值給form_JMeter系列(三)邏輯控制器詳解

循環控制器&#xff1a;指定迭代次數&#xff0c;可以用具體數字&#xff0c;也可以通過變量控制永遠&#xff1a;表示無限循環點擊查看示例&#xff1a;Jmeter實例(四)_圖片爬蟲簡單控制器&#xff1a;這是最基礎的一個控制器&#xff0c;它可以讓腳本分層&#xff0c;變成一個…

c 復雜的前置后置面試題_OPPO Reno拆解:優秀工藝由外而內,復雜用料不負旗艦之名...

OPPO的新系列Reno手機最近吸引了不少注意力&#xff0c;不管是消費者還是手機極客都對其優秀的性能和強大的配置抱有極大的興趣。最近&#xff0c;知名數碼博主愛玩客對Reno十倍變焦版進行了拆解&#xff0c;從內部結構向我們揭示了這部手機的強大之處。并且點評道&#xff1a;…

差分矩陣

題目描述 輸入一個n行m列的整數矩陣&#xff0c;再輸入q個操作&#xff0c;每個操作包含五個整數x1, y1, x2, y2, c&#xff0c;其中(x1, y1)和(x2, y2)表示一個子矩陣的左上角坐標和右下角坐標。 每個操作都要將選中的子矩陣中的每個元素的值加上c。 請你將進行完所有操作后…

python常用的開發環境包括_Python語言主要包括哪些集成開發環境?_學小易找答案...

【填空題】Python的標準隨機數生成器模塊是【簡答題】Why does critical thinking matter?【簡答題】采集瓶子的外形進行創意設計 用點、線、面進行裝飾填充 A4紙手繪,構圖要有新意,要飽滿【簡答題】How can a lack of critical thinking cause a loss of personal freedom?【…

最長連續不重復子序列

題目描述 給定一個長度為n的整數序列&#xff0c;請找出最長的不包含重復數字的連續區間&#xff0c;輸出它的長度。 輸入格式 第一行包含整數n。 第二行包含n個整數&#xff08;均在0~100000范圍內&#xff09;&#xff0c;表示整數序列。 輸出格式 共一行&#xff0c;包…

ocp跟oce的區別 oracle_Oracle視頻10g 11g認證視頻教程 OCA/OCP 從入門到精通 數據庫DBA...

一、認證Oracle OCP認證(Database 10g Administrator Certified Professional)為Oracle公司的數據庫專家的認證。擁有OCP認證說明你擁有了大型Oracle數據庫管理的技術能力&#xff0c;具備了成為大型企業核心數據庫系統管理員的資格。OCE 1Z0-051&#xff1a;Oracle Database 1…

小愛同學app安卓版_小愛同學app下載-小米小愛同學下載2.9.21安卓版-西西軟件下載...

小米小愛同學是小米AI音箱的配套軟件&#xff0c;小愛同學是AI音箱的擬人虛擬形象&#xff0c;是一個二次元的萌妹子&#xff0c;如果你購買了小米AI音箱可以通過跟小愛同學交流來讓小米智能音箱幫你完成你想要的服務。小愛同學支持海量互聯網內容&#xff0c;包括在線音樂&…

python畫太極八卦圖_先天太極八卦圖的唯一正確畫法

我們先百度一下先天太極八卦圖.↑&#xff0c;看看結果百度出來的圖片第一頁上半部分&#xff0c;結果非常驚人&#xff0c;40張圖片&#xff0c;沒有一張是正確的。錯誤原因分為兩大類&#xff1a;1.太極圖旋轉方向或陰陽魚所在位置錯誤 2.八卦中每卦的三爻畫法錯誤1. 先天太極…

函數無法識別_PostgreSQL找不到最佳函數問題解析

最近給項目做支持&#xff0c;由于函數類型問題&#xff0c;加了幾條函數定義。用戶使用函數場景是func(string, string)。當時給用戶添加了一條函數定義&#xff1a;func(text, text)。后來由于和其他函數沖突改成了func(varchar, varchar)。varchar和text同樣都是字符串類型&…