Sort String According to Order Defined by Pattern String
package org.wesome.dsalgo;
import java.util.Arrays;
public class SortStringByPattern {
static char[] sortStringByPattern(String string, String pattern) {
final int NinetySeven = 'a';
System.out.println("ascii value of a is = " + (int) 'a');
char[] stringArr = string.toCharArray();
char[] patternArr = pattern.toCharArray();
int freq[] = new int[26];
for (int i = 0; i < string.length(); i++) {
freq[stringArr[i] - NinetySeven]++;
}
int index = 0;
for (int i = 0; i < pattern.length(); i++) {
for (int j = 0; j < freq[patternArr[i] - NinetySeven]; j++) {
stringArr[index] = patternArr[i];
index++;
}
}
System.out.println(Arrays.toString(stringArr));
return stringArr;
}
}