思路:使用to_string将int转为string,再利用stringstream流将string转为int,过程中要另外将符号存起来。判断是否溢出可以用更大的long long 保存结果,比较和int是否相等,不相等时溢出。

class Solution {
public:
    /**
     * 
     * @param x int整型 
     * @return int整型
     */
    int reverse(int x) {
        int sign=1;
        if(x<0) sign=-1;
        x*=sign;
        string str=to_string(x);
        ::reverse(str.begin(),str.end());
        stringstream s_stream{};
        s_stream<<str;
        int val{};
        long long int val_full{};
        s_stream>>val_full;
        val=val_full;
        val_full*=sign;
        val*=sign;
        if(val!=val_full) return 0;
        else return val;
    }
};