Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
此題主要考查幾種特殊的前導0的情況,還有單獨為0的情況
注意利用c++中的reverse時要加名稱空間,不然該函式會遞迴呼叫自己
#include <iostream> #include <cstdio> #include <sstream> #include <string> #include <cmath> using namespace std; int reverse(int x){ if (x == 0) return x; bool flag = (x > 0)? true : false; x = abs(x); stringstream ss; ss << x; string x_str; ss >>x_str; std::reverse(x_str.begin(),x_str.end()); string reverse_x = x_str.substr(x_str.find_first_not_of('0')); int res = atoi(reverse_x.c_str()); return flag ? res : (-res); } int main(){ cout<<reverse(123)<<endl; }