难度
标签
题目描述
给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。
回文串是指正反两个方向都一样的单词或短语。排列是指字母的重新排列。
回文串不一定是字典当中的单词。
示例1:
输入:"tactcoa"输出:true(排列有"tacocat"、"atcocta",等等)
题解
1. 哈希表
import java.util.HashMap;class Solution {public boolean canPermutePalindrome(String s) {HashMap<Character, Integer> map = new HashMap<>();for(int i = 0; i < s.length(); i++) {char cur = s.charAt(i);if(map.containsKey(cur) && map.get(cur) == 1) {map.remove(cur);} else {map.put(cur, 1);}}return map.size() <= 1;}}
