转成string倒着取,用map判断重复,再转回int,看看是不是能整除10就好了

package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
)

func main() {
	var t, n int
	in := bufio.NewReader(os.Stdin)
	fmt.Fscan(in, &t)
	mp := make(map[byte]bool)
	ss := ""
	s := strconv.Itoa(t)
	for i := len(s) - 1; i >= 0; i-- {
		if _, ok := mp[s[i]]; ok {
			continue
		}
		ss += string(s[i])
		mp[s[i]] = true
	}
	n, _ = strconv.Atoi(ss)
	for n%10 == 0 {
		n /= 10
	}
	fmt.Println(n)
}