[LeetCode] Reverse Integer
http://oj.leetcode.com/problems/reverse-integer/
简单题, 要注意结尾是0的情况的处理. 真沙茶同学什么时候才可以如此轻松的切难题呢.
1 class Solution { 2 public: 3 4 long long myPow(int n, int p) { 5 long long re = 1; 6 for (int i = 0; i < p; ++i) { 7 re *= n; 8 } 9 return re; 10 } 11 12 int reverse(int x) { 13 // IMPORTANT: Please reset any member data you declared, as 14 // the same Solution instance will be reused for each test case. 15 vector<int> vec; 16 int t = x > 0 ? x : -x; 17 int flag = 0; 18 while (t) { 19 int s = t % 10; 20 if (s != 0) { 21 flag = 1; 22 vec.push_back(s); 23 } else if(flag) { 24 vec.push_back(s); 25 } 26 t /= 10; 27 } 28 long long re = 0; 29 for (unsigned int i = 0; i < vec.size(); ++i) { 30 re += vec[i] * myPow(10, (vec.size() - i -1)); 31 } 32 return (x > 0 ? re : -re); 33 } 34 };