力扣刷題:7. 整數反轉
阿新 • • 發佈:2021-01-30
題目要求
給出一個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。
原題連結
程式碼
class Solution {
public:
int reverse(int x) {
int reverseX;
string strX = std::to_string(x);
string rStrX(strX.crbegin(), strX.crend());
try
{
reverseX = std::stoi (rStrX);
}
catch (const std::exception&)
{
return 0;
}
if (x > 0)
{
return reverseX;
}
else
{
return -reverseX;
}
}
};
整體思路
將x轉換成字串,再將這個字串反轉,再轉回int,如果在轉回int時發生上溢,則使用異常捕獲來返回0. 最後再根據傳入整數的正負判斷返回值的正負
學到了什麼
1、與字串轉換相關的函式需要包括標頭檔案string
2、stoi函式會自動忽略字串中除了數字的字元