1 public class Solution { 2 public boolean canPermutePalindrome(String s) { 3 Map<Character, Integer> letters = new HashMap<>(); 4 for (char c : s.toCharArray()) { 5 letters.put(c, letters.getOrDefault(c, 0) + 1); 6 } 7 boolean allowOdd = s.length() % 2 == 1 ? true : false; 8 9 for (char c : letters.keySet()) { 10 if (letters.get(c) % 2 == 1 && !allowOdd) { 11 return false; 12 } 13 allowOdd = letters.get(c) % 2 == 1 ? false : allowOdd; 14 } 15 return true; 16 } 17 }