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