01.04. 回文排列
简单
给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。
回文串是指正反两个方向都一样的单词或短语。排列是指字母的重新排列。
回文串不一定是字典当中的单词。
示例1:
输入:"tactcoa"
输出:true(排列有"tacocat"、"atcocta",等等)
审题
正反两个方向都相同的单词或者短语,排列是重新打乱顺序之后的排列
1.尝试方法一:26位boolean数组(X)
/**
思路(利用回文相对的字符串相同的思想):
使用长度为26的boolean数组:
1.将S字符串拆分为单个字符。
2.遍历每个字符,让它-a,得到一个ascll码值n,对应到boolean数组上的n号位置换当前位置的值。
3.如果当前位置上是false(初始值)则将其置换为true,反之置换为false。
4.最后遍历整个boolean数组,查看有多少个ture
5.超过1个就返回false
*/
class Solution {
public boolean canPermutePalindrome(String s) {
if(s == null || s.length() == 0){
return true;
}
boolean[] flagArray = new boolean[26];
for(int i = 0;i < s.