Palindrome Permutation
给一个string, 问你,它的字符随便排序是否能组成一个回文?
能成为回文的话,需要有偶数个字符, 但是其中某个可以是奇数.
偶数比如
ababcc -> abccba
奇数比如
ababccd -> abcdbca
所以就做个count[]数组, 数一下其中的每个字符个数, 然后设置一个counter, 记得是否有奇数个.
public boolean canPermutePalindrome(String s) { int[] A = new int[256]; int count=0; for(int i=0; i<s.length(); i++){ if(A[s.charAt(i)]>0) { A[s.charAt(i)]--; count--; } else { A[s.charAt(i)]++; count++; } } return count<=1; }
Leave A Comment