回文排列

网友投稿 789 2022-09-10

回文排列

回文排列

给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。

回文串是指正反两个方向都一样的单词或短语。排列是指字母的重新排列。

回文串不一定是字典当中的单词。

示例:

输入:"tactcoa"输出:true(排列有"tacocat"、"atcocta",等等)

参考代码

package com.gong;import java.util.HashSet;/** * 消消乐思想,要形成回问串,每个字符都是两两出现的,只允许有一个字符是单独的或者没有单独的字符 * 类似玩消消乐一样,两个一样的字符我们就消除 * */public class HuiWenChuan { public static boolean canPermutePalindrome(String s){ if(s==null||s.length()<1){ return false; } char [] chars=s.toCharArray();//字符串转换成字符数组 HashSet characters=new HashSet(); for(Character character : chars){ if(characters.contains(character)){ characters.remove(character); }else { characters.add(character); } } return characters.size()<=1; } public static void main(String[] args) { String str="tactcoa"; boolean result; result=canPermutePalindrome(str); System.out.println(result); }}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:python计算不规则图形面积算法(python求不规则图形面积)
下一篇:Python设计模式:代理模式(python实现代理)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~