题解 | 小红的字符串构造

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String line = in.nextLine();
        // 统计字符串 s 中不同字符的数量
        Set<Character> uniqueChars = new HashSet<>();
        for(char c : line.toCharArray()){
            uniqueChars.add(c);
        }
        if (uniqueChars.size() ==1) {
            System.out.println(-1);
        }else{
            List<Character> uniqueCharList = new ArrayList<>(uniqueChars);
            Map<Character, Character> mapping = new HashMap<>();
            int size = uniqueCharList.size();
            for (int i = 0; i < size; i++) {
                char currentChar = uniqueCharList.get(i);
                char nextChar = uniqueCharList.get((i+1)%size);
                mapping.put(currentChar, nextChar);
            }
            StringBuilder sb = new StringBuilder();
            for (char c : line.toCharArray()) {
                sb.append(mapping.get(c));
            }
            String t= sb.toString();
            System.out.println(t);
        }
    }
}

#如果中了500万,你会离职吗?#
全部评论

相关推荐

07-03 16:02
门头沟学院 Java
今天面试,非常紧张,面试官问我springboot有哪些核心模块都答不上来了,真的对自己无语了!
程序员小白条:28届我勒个去,很多人面试都没机会
查看1道真题和解析
点赞 评论 收藏
分享
06-07 17:17
嘉兴学院 教师
心爱的idea:你孩
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务