leetcode-7. 整數反轉,
給出一個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉,
示例 1:
輸入: 123
輸出: 321
示例 2:
輸入: -123
輸出: -321
示例 3:
輸入: 120
輸出: 21
注意:
假設環境只能存盤得下 32 位的有符號整數,則其數值范圍為 [?231, 231 ? 1],
請根據這個假設,如果反轉后整數溢位那么就回傳 0,
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problemset/all/
著作權歸領扣網路所有,商業轉載請聯系官方授權,非商業轉載請注明出處,
int reverse( int x ) {
int answer = 0;
for( answer = 0; x != 0; x /= 10 ) {
int gw = x % 10;
if( (answer > INT_MAX / 10) || (answer == INT_MAX / 10 && gw > INT_MAX % 10) ) { // 正數溢位.
return 0;
}
if( (answer < INT_MIN / 10) || (answer == INT_MIN / 10 && gw < INT_MIN % 10) ) { // 負數溢位.
return 0;
}
answer = answer * 10 + gw;
}
return answer;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/24375.html
標籤:C
下一篇:[go]指標
