您好,登錄后才能下訂單哦!
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
整數(shù)反轉(zhuǎn):假如輸入123,則輸出321;
解題:
1)如果輸入x為負數(shù),那么先取負數(shù)的絕對值。并修改flag值為0.
2)通過除十取余開始逐步取出個位數(shù)值,并將該數(shù)值依次加到反轉(zhuǎn)數(shù)值中。
3)對輸入數(shù)字除十取商。重復(fù)第二步,直到商為零。
4)如果是負數(shù)輸入,則將絕對值取反。
說明:
1)輸出結(jié)果變量val聲明為long long類型,是防止操作過程中出現(xiàn)int整數(shù)溢出。
2)返回值:如果輸出結(jié)果大于int型的最大值或者小于int型的最小值時(溢出),那么返回0.否則返回正常輸出結(jié)果。
int reverse(int x) { int flag = -1; if ( x < 0 ) { x = x * flag; flag = 0; } int tmp = 0; long long val = 0; while ( x ) { tmp = x % 10; val = val * 10 + tmp; x = x / 10; } if ( flag == 0 ) { val = -1 * val; } return val > INT_MAX || val < INT_MIN ? 0 : val; }
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。