Anagrams of String
Posted By Swaroop on Wednesday, 2 March 2022
//printing all the possible anagrams of string
public void anagrams(String str, int start, int end)
{
if (start == end)
System.out.println(str);
else {
for (int i = start; i <= end; i++) {
str = swap(str, start, i);
anagm(str, start + 1, end);
str = swap(str, start, i);
}
}
}
public String swap(String a, int i, int j)
{
char temp;
char[] charArray = a.toCharArray();
temp = charArray[i];
charArray[i] = charArray[j];
charArray[j] = temp;
return String.valueOf(charArray);
}
// check if string b is an anagram of a or vice-versa
public boolean check(String a,String b){
if(a.length() != b.length()) return false;
a = sort(a);
b = sort(b);
return a.equals(b);
}
public String sort(String s){
char[] ch = s.toCharArray();
Arrays.sort(ch);
return String.valueOf(ch);
}