第十二题
- 功能描述:删除字符串中字符个数最少的字符,最少字符串有多个,最少的要全部删除
- 然后返回该子字符串。
- 输入:asdasdas
- 输出:asasas
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Test {
public static void main(String[] args) {
System.out.println(delStr("eeasdasdasbb"));
}
public static String delStr(String strIn) {
char[] charIn = strIn.toCharArray();
Map<Character, Integer> map = new HashMap<Character, Integer>();
for (int i = 0; i < charIn.length; i++) {
Integer integer = map.get(charIn[i]);
map.put(charIn[i], integer == null ? 1 : integer + 1);
}
List<Character> list = new ArrayList<Character>();
Integer integer = Integer.MAX_VALUE;
for (int i = 0; i < strIn.length(); i++) {
if (map.get(strIn.charAt(i)) == integer) {
list.add(strIn.charAt(i));
}
if (map.get(strIn.charAt(i)) < integer) {
integer = map.get(strIn.charAt(i));
list.clear();
list.add(strIn.charAt(i));
}
}
for (Character c: list) {
strIn = strIn.replaceAll(String.valueOf(c), "");
}
return strIn;
}
}