题目:
描述
输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
保证输入的整数最后一位不是0。
输入描述:
输入一个int型整数
输出描述:
按照从右向左的阅读顺序,返回一个不含重复数字的新的整数
示例1
输入:
9876673
复制输出:
37689
结果:
解题思路:
利用哈希表存储数字是否出现过。因为是每一位判断所以,哈希表只需要10位就可以。
从右向左获取每一位数字,如果在哈希表对应下表的值为0,说明是第一次出现。
第一次出现的需要存储到输出的int中,并且哈希对应位置的数据+1;
代码:
#include <stdio.h>
int main() {
int hash[10] = {};
int num;
while(scanf("%d", &num) != EOF) {
int out = 0;
while(num) {