给定一个 32 位有符号整数,将整数中的数字进行反转。

当前位置:首页 > 广场 > 给定一个 32 位有符号整数,将整数中的数字进行反转。

给定一个 32 位有符号整数,将整数中的数字进行反转。

2024-11-21广场25

public int reverseInteger(int x) {

给定一个 32 位有符号整数,将整数中的数字进行反转。

if (x <= Integer.MIN_VALUE || x >= Integer.MAX_Value) {

return 0; // 如果输入的整数超出范围,直接返回 0

}

int reversedNum = 0; // 用于存储反转后的整数

int count = 0; // 用于记录反转过程中的位数

while (x != 0) { // 循环反转每一位数字

count++; // 位数递增

if (count == 10) { // 如果反转过程中位数达到上限(即反转后的数可能溢出)

if (x < 0 && reversedNum >= Integer.MAX_VALUE / 10) { // 如果是负数且反转后的数即将溢出,返回 0

return 0;

}

}

reversedNum = reversedNum 10 + x % 10; // 将当前位加入反转结果中

x /= 10; // 移动到下一位数字进行反转操作

}

return reversedNum; // 返回反转后的整数结果

}

文章从网络整理,文章内容不代表本站观点,转账请注明【蓑衣网】

本文链接:https://www.baoguzi.com/68132.html

给定一个 32 位有符号整数,将整数中的数字进行反转。 | 分享给朋友: