1. 程式人生 > 其它 >力扣刷題:7. 整數反轉

力扣刷題:7. 整數反轉

技術標籤:leetcode字串c++leetcode

題目要求

給出一個 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函式會自動忽略字串中除了數字的字元