题解 | #提取不重复的整数#
提取不重复的整数
http://www.nowcoder.com/practice/253986e66d114d378ae8de2e6c4577c1
通过哈希表标识数字是否有出现过,如果没有,则标识,并处理,如果有出现过,则跳过
#include <stdio.h>
int main()
{
int num;
int temp;
char hash[10] = {0}; // 用作数字标记
int ret = 0;
scanf("%d", &num);
while (num) {
temp = num % 10;
if (hash[temp] == 0) {
hash[temp] = 1;
ret += temp;
ret *= 10;
}
num /= 10;
}
ret /= 10;
printf("%d", ret);
return 0;
}