HJ27 查找兄弟单词 | 题解

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            int N = sc.nextInt();
            String[] dict = new String[N];
            for (int i = 0; i < N; i++) {
                dict[i] = sc.next();
            }

            String target = sc.next();
            int index = sc.nextInt();
            ArrayList<String> list = new ArrayList<>();
            Arrays.sort(dict);
            for (String s : dict) {
                if (isBrother(target, s))
                    list.add(s);
            }
            System.out.println(list.size());
            if (index <= list.size() && list.size() > 0)
                System.out.println(list.get(index - 1));
            sc.nextLine();
        }
    }

    public static boolean isBrother(String target, String str) {
        if (target.equals(str))
            return false;
        if (target.length() != str.length())
            return false;

        char[] ch1 = target.toCharArray();
        char[] ch2 = str.toCharArray();
        Arrays.sort(ch1);
        Arrays.sort(ch2);
        for (int i = 0; i < ch2.length; i++) {
            if (ch1[i] != ch2[i])
                return false;
        }
        return true;
    }
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务