日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【LeetCode 剑指offer刷题】字符串题6:67 把字符串转成整数

發(fā)布時間:2025/7/14 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【LeetCode 剑指offer刷题】字符串题6:67 把字符串转成整数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

【LeetCode & 劍指offer 刷題筆記】目錄(持續(xù)更新中...)

67?把字符串轉(zhuǎn)成整數(shù)

題目描述

將一個字符串轉(zhuǎn)換成一個整數(shù),要求不能使用字符串轉(zhuǎn)換整數(shù)的庫函數(shù)。 數(shù)值為0或者字符串不是一個合法的數(shù)值則返回0

輸入描述:

輸入一個字符串,包括數(shù)字字母符號,可以為空

輸出描述:

如果是合法的數(shù)值表達則返回該數(shù)字,否則返回0 示例1

輸入

復制 +2147483647 1a33

輸出

復制 2147483647 0 /* 本題沒有考慮前面有空格的情況,與leetcode中題目有點不同 而且把1a33這樣的字符也當做異常,不會輸出1 1. 處理正負號 2. 處理數(shù)字 3. 處理溢出 4. 處理夾雜異常字符的情況 */ #include <climits> class Solution { public: ??? int StrToInt(string str) ??? { ??????? if(str.empty()) return 0;//處理異常情況 ??????? ??????? int sign = 1; //初始化符號 ??????? int i = 0; ??????? if(str[i] == '-') //處理正負號 ??????? { ??????????? sign = -1; ??????????? i++; ??????? } ??????? else if(str[i] == '+') ??????????? i++; ??????? ??????? long long num = 0; //long long不管在32位機還是64位機中均為64位 ??????? for(; i<str.size() && str[i] >= '0' && str[i] <= '9'; i++) //掃描數(shù)字 ??????? { ??????????? int digit = str[i] - '0'; ??????????? num = num*10 + digit; ??????????? //處理溢出問題 ??????????? if( (sign > 0&& num > INT_MAX) || (sign<0 && -num < INT_MIN) ) ??????????? { ??????????????? num = 0; ??????????????? break; ??????????? } ??????? } ??????? ??????? if(i < str.size()) num = 0; //說明是從中途退出,有異常字符 ??????? return num*sign; ??? } };

?

轉(zhuǎn)載于:https://www.cnblogs.com/wikiwen/p/10224821.html

總結(jié)

以上是生活随笔為你收集整理的【LeetCode 剑指offer刷题】字符串题6:67 把字符串转成整数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。