intreverse(int x){int buf[32]={0};int flag =1;longint var =0;if(x <0){
flag =-1;if(x ==-((long)1<<31))return0;
x =-x;}int k =0;for(int i=0; i<32&& x>0;++i){
buf[i]= x%10;
x /=10;++k;}for(int j=0; j<k;++j){
var = var*10+ buf[j];}if(-1== flag){
var =-var;}if((var <(-((long)1<<31)))|| var>(((long)1<<31)-1))return0;return(int)var;}
intreverse(int x){int flag =1;// 用來記錄是否是負數longint var =0;// 標記正負,並求取其絕對值,對絕對值反轉更容易些if(x <0){
flag =-1;if(x ==-((long)1<<31))// 如果是-2^31,求其絕對值就會溢出return0;
x =-x;// 得到其絕對值}// 用一個長整型來存儲反轉的值,確保數據不會丟失while(x>0){
var = var*10+ x%10;
x /=10;}// 若之前的數,爲負,則將反轉的數也取爲負數if(-1== flag){
var =-var;}// 判斷反轉的數是否在32bit的範圍內if((var <(-((long)1<<31)))|| var>(((long)1<<31)-1))return0;return(int)var;// 返回強制轉換後的數}