Saturday, October 3, 2015

[9.2] Sort an array of strings by anagrams

1. Example

s= {"water","cold","bottle","retaw", "dloc"}

s= {"water, "retaw", "cold","dloc","bottle"}


2. Implementation


// Next to each other -1, 1, 0
// 
public class AnagramComparator implements Comparator
{



     public String sortChars(String s)
     {
           char[] charArr = s.toCharArray();
           Arrays.sort(charArr);
           return new String(charArr);
     }




     public int compare(String s1, String s2)
     {
           // compareTo: ASCII natural order
           return sortChars(s1).compareTo(sortChars(s2));
     }



     
}



Arrays.sort(   array,  new AnagramComparator()   );



3. Similar ones


No comments:

Post a Comment