/**
* 功能:對字元串數組進行排序,将全部的變位詞排在相鄰的位置。
*/
兩種方法:
方法一:
/**
* 思路:套用排序算法,并改動比較器。
這裡比較器用來訓示兩個字元串胡偉變位詞就是相等的。 * @param array */ public static void sort(String[] array){ Arrays.sort(array, new AnagramComparator()); } class AnagramComparator implements Comparator<String>{ @Override //改動比較器 public int compare(String s1,String s2){ return sortChars(s1).compareTo(sortChars(s2)); } /** * 思路:檢查是否為變位詞。對字元串直接進行排序。假設互為變位詞,則排序後相等。 * @param s * @return */ public static String sortChars(String s){ char[] content=s.toCharArray(); Arrays.sort(content); return new String(content); } }
方法二:
/**
* 思路:用散清單存儲同為變位詞的單詞,然後放回數組中。