Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Map;
- import java.util.Scanner;
- import java.util.TreeMap;
- public class Main {
- public static void main(String[] args) {
- Scanner in = new Scanner(System.in);
- int n = in.nextInt();
- String s = in.next();
- if (n == 1) {
- System.out.println(s);
- System.exit(0);
- }
- TreeMap<Character, Integer> map = new TreeMap<>();
- for (int i = 0; i < n; i++) {
- if (map.containsKey(s.charAt(i))) {
- map.put(s.charAt(i), map.get(s.charAt(i)) + 1);
- } else {
- map.put(s.charAt(i), 1);
- }
- }
- int oddCnt = 0;
- char oddChar = 0;
- for (Map.Entry<Character, Integer> entry : map.entrySet()) {
- if (entry.getValue() % 2 != 0) {
- oddCnt++;
- oddChar = entry.getKey();
- }
- }
- if (oddCnt > 1 || oddCnt == 1 && s.length() % 2 == 0) {
- System.out.println(-1);
- System.exit(0);
- }
- StringBuilder first = new StringBuilder();
- StringBuilder second = new StringBuilder();
- for (Map.Entry<Character, Integer> entry : map.entrySet()) {
- String l = String.valueOf(entry.getKey()).repeat((int) Math.floor(entry.getValue() / 2.0));
- first.append(l);
- second.insert(0, l);
- }
- System.out.println(((oddCnt == 1) ? (first.toString() + oddChar + second) : (first.toString() + second)));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement