java代码int整数返回一个从右往左不重复的int 整数
时间: 2023-12-30 10:05:08 浏览: 40
可以使用以下代码实现:
```java
public static int getDistinctDigits(int num) {
boolean[] usedDigits = new boolean[10]; // 用于记录数字是否出现过
int result = 0;
while(num > 0) {
int digit = num % 10;
if(!usedDigits[digit]) { // 当前数字未出现过
usedDigits[digit] = true; // 记录数字已出现
result = result * 10 + digit; // 将数字加入结果中
}
num /= 10;
}
return result;
}
```
这个函数接受一个整数作为参数,并返回一个从右往左不重复的整数。它首先创建一个boolean数组用于记录数字是否出现过,然后循环每个数字,检查它是否出现过。如果该数字未出现过,则将其添加到结果中,并将其标记为已经出现过。最后,函数返回结果。
需要注意的是,该函数只能处理整数,如果传入负数或小数则可能会导致错误。
相关问题
输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数
可以先将输入的整数转换成字符串,然后从字符串的末尾开始遍历,将每个字符加入一个集合中,如果集合中已经存在该字符,则不加入,最后将集合中的字符拼接成一个新的字符串,再将其转换成整数即可。以下是示例代码:
```python
def remove_duplicate_digits(num: int) -> int:
num_str = str(num)
digits_set = set()
for i in range(len(num_str)-1, -1, -1):
if num_str[i] not in digits_set:
digits_set.add(num_str[i])
new_num_str = ''.join(digits_set)
return int(new_num_str)
```
例如,对于输入的整数123456789,输出的新整数为987654321。
python输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
可以使用 Python 的 `str` 函数将整数转换成字符串,再使用 `set` 去重,最后使用 `int` 函数将字符串转回整数。
```python
def remove_duplicate(n):
# 将整数转换成字符串,再反转
n = str(n)[::-1]
# 使用 set 去重
n = ''.join(set(n))
# 将字符串转回整数
return int(n[::-1])
```
使用示例:
```python
>>>remove_duplicate(1234)
143
>>>remove_duplicate(10001)
1
>>>remove_duplicate(12122333)
123
```