题解 | 小红的字符串构造

# 将输入字符串转换为字符列表
s = list(input())

# 初始化用于存储转换后字符的列表
t = []

# 初始化用于跟踪输入字符串中唯一字符的列表
char_set = []

# 初始化用于存储字符到字符映射的字典
char_map = {}

# 遍历输入字符串中的每个字符
for i in s:
    # 如果字符不在char_set中,则将其添加进去
    if i not in char_set:
        char_set.append(i)

# 检查char_set中的字符数量
# 如果少于2个字符,则无法进行有效的映射,输出-1
if len(char_set) < 2:
    print(-1)
else:
    # 创建字符到字符的映射
    for i in range(len(char_set)):
        # 如果是最后一个字符,则将其映射回第一个字符,形成循环
        if i == (len(char_set) - 1):
            char_map[char_set[i]] = char_set[0]
        else:
            # 否则,将字符映射到下一个字符
            char_map[char_set[i]] = char_set[i + 1]

    # 应用映射到输入字符串中的每个字符
    for i in s:
        # 使用char_map将字符转换为其映射字符,并添加到结果列表t中
        t.append(char_map[i])

    # 将结果列表t中的字符连接成一个字符串并打印
    print("".join(t))

全部评论

相关推荐

03-29 14:19
门头沟学院 Java
你背过凌晨4点的八股文么:加油同学,人生的容错率很高,只是一个暑期罢了,后面还有很多机会!
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务