题解 | #查找兄弟单词#
查找兄弟单词
https://www.nowcoder.com/practice/03ba8aeeef73400ca7a37a5f3370fe68
import java.util.*; import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextInt()) { // 注意 while 处理多个 case int n = in.nextInt(); String [] words =new String [n]; for(int i=0;i<n;i++ ) { words[i]=in.next(); } String s= in.next(); int k= in.nextInt(); ArrayList<String> bros =new ArrayList(); for(int i=0;i<n;i++) { if(isBro(s,words[i])) { bros.add(words[i]); } } Collections.sort(bros); System.out.println(bros.size()); if(k-1<bros.size()) { System.out.println(bros.get(k-1)); } } } public static boolean isBro(String a,String b) { if(a.length()!=b.length()) { return false; } else if(a.equals(b)) { return false; } int [] same =new int [26]; for(int i=0;i<a.length();i++) { same[a.charAt(i)-'a']++; } for(int i=0;i<b.length();i++) { same[b.charAt(i)-'a']--; } for(int i=0;i<26;i++) { if(same[i]!=0) { return false; } } return true; } }