题解 | 小红的字符串构造

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万,你会离职吗?#
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务