266. Palindrome Permutation
Posted 我的名字叫周周
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了266. Palindrome Permutation相关的知识,希望对你有一定的参考价值。
/* *266. Palindrome Permutation *2016-6-24 by Mingyang *这个题目很简单的用Hashmap来计算,而高手用的是HashSet来做,遇到一样的,就remove,从没出现的就Add *不过自己的代码还借鉴了如何loop hashmap的value */ public boolean canPermutePalindrome(String s) { int len=s.length(); if(s==null||len==0) return true; Map<Character,Integer> map=new HashMap<Character,Integer>(); for(int i=0;i<len;i++){ char a=s.charAt(i); if(map.containsKey(a)){ map.put(a,map.get(a)+1); }else{ map.put(a,1); } } int count=0; for (Integer value : map.values()) { if(value%2!=0){ count++; if(count>1) return false; } } return true; } //然而看了大神的答案,果然非常佩服大神的思维,灵活使用HashSet public boolean canPermutePalindrome1(String s) { Set<Character> set=new HashSet<Character>(); for(int i=0; i<s.length(); ++i){ if (!set.contains(s.charAt(i))) set.add(s.charAt(i)); else set.remove(s.charAt(i)); } return set.size()==0 || set.size()==1; }
以上是关于266. Palindrome Permutation的主要内容,如果未能解决你的问题,请参考以下文章
java 266. Palindrome Permutation(1st).java
java 266. Palindrome Permutation(1st).java
java 266. Palindrome Permutation(1st).java
java 266. Palindrome Permutation(1st).java