LeetCode第7題:Reverse Integer
阿新 • • 發佈:2019-01-01
題目描述:反轉整數輸出,注意的是輸入被假定為一個32位有符號整數。當反整數溢位時,函式應返回0。
今年的華為的實習生招聘筆試的第一個題與這個有點類似,不過華為的是輸入兩個整數,反轉,然後輸出兩個整數反轉後兩個數的和。
測試程式碼:
#include <iostream> using namespace std; class Solution { public: int reverse(int x) { int reverseX=0; int temp; int a; int biaozhi=1; if (x<0)//如果x小於0,將它變成正的 { biaozhi=-1; x=abs(x); } while(x!=0)//當x不等於0的時候 { if (reverseX>(INT_MAX-x%10)/10)//判斷是否溢位 { return 0; } else { temp=x%10; reverseX=reverseX*10+temp; x=x/10; } } return reverseX*biaozhi; } }; int main() { Solution s; int i=s.reverse(1534236469); cout<<i<<endl; return 0; }