题解 | 字符串加密
字符串加密
https://www.nowcoder.com/practice/e4af1fe682b54459b2a211df91a91cf3
package main
import (
"fmt"
"strings"
)
func main() {
s, t := "", ""
fmt.Scan(&s, &t)
//统计s中已经出现的字母
strMap := make(map[int32]bool)
var newStr strings.Builder
for _, ch := range s {
if !strMap[ch] {
//没出现过的拼接
newStr.WriteRune(ch)
strMap[ch] = true
}
}
ch_26 := "abcdefghijklmnopqrstuvwxyz"
tempMap := strMap
for _, ch := range ch_26 {
//没出现过的拼接
if !tempMap[ch] {
newStr.WriteRune(ch)
}
}
newMap := make(map[int32]int32)
// 保存映射关系
for i, ch := range ch_26 {
newMap[ch] = int32(newStr.String()[i])
}
// 生成密文
var ans strings.Builder
for _, ch := range t {
ans.WriteRune(newMap[ch])
}
fmt.Println(ans.String())
}


