package com.mytest;
import java.util.Iterator;
import java.util.HashMap;
import java.util.Set;
public class Main {
public static int palindrome(String s) {
return 0;
}
//start 提示:自动阅卷起始唯一标识,请勿删除或增加。
HashMap<String, Integer> map = new HashMap<String, Integer>();
public static void main(String args[]) {
// 输入字符串
String str = "aabb";
char[] charArray = str.toCharArray();
Main m = new Main();
m.palind(charArray, 0, charArray.length - 1);
Set<String> a = m.map.keySet();
Iterator<String> it = a.iterator();
int index = 0;
long totalCount = 0l;
while (it.hasNext()) {
String key = it.next();
totalCount = totalCount + m.map.get(key);
}
System.out.println("total count:"+totalCount);
}
//end //提示:自动阅卷结束唯一标识,请勿删除或增加。
private void palind(char[] charArray, int index, int end) {
if (index == end) {
// 检查是否为回文字符串,如果是则输出
checkStr(charArray);
} else {
// 递归产 生全排列排列
for (int i = index; i <= end; i++) {
char temp = charArray[index];
charArray[index] = charArray[i];
charArray[i] = temp;
palind(charArray, index + 1, end);
temp = charArray[index];
charArray[index] = charArray[i];
charArray[i] = temp;
}
}
}
private void checkStr(char[] charArray) {
for (int i = 0; i < charArray.length / 2; i++) {
if (charArray[i] == charArray[charArray.length - 1 - i]) {
continue;
} else {
return;
}
}
StringBuffer sb = new StringBuffer();
for (int i = 0; i < charArray.length; i++) {
sb.append(charArray[i]);
}
String str = sb.toString();
// 放到map里面
map.put(str, map.get(str) == null ? 1 : map.get(str));
}
// end //提示:自动阅卷结束唯一标识,请勿删除或增加。
}
分享到:
相关推荐
在编程领域,回文字符串是一个重要的概念,它指的是一个字符串,无论从左向右读还是从右向左读,其字符顺序都完全相同。比如"madam"、"level"和"上海自来水来自海上"都是回文字符串。在C语言中,我们可以编写程序来...
回文字符串是一个特殊的字符串,它的特点是从前往后读和从后往前读是完全一样的,比如“上海自来水来自海上”、“abccba”。在Python中,判断一个字符串是否为回文非常简单,我们可以利用Python的特性来高效实现。...
Python实现最短回文字符串输出
判断回文字符串的C程序,一个简单的小作业,课程中写的,不会的可以参考一下。
### 回文字符串的判断 #### 一、什么是回文字符串? 在计算机科学与编程领域中,回文字符串(Palindrome)是指一个字符串正读反读都一样的特性。例如,“madam”、“level”等就是典型的回文字符串。这类字符串...
回文字符串是一个在正读和反读时都保持相同的字符串,比如"madam"、"racecar"。在计算机科学中,寻找一个字符串中的最长回文子串是一项基础且重要的任务,尤其在文本处理和算法设计中。这个问题的解决通常涉及到字符...
在Python编程中,回文字符串是一个重要的概念,它是指一个字符串正读和反读都一样的特性。例如,"madam"、"racecar" 和 "level" 都是回文字符串。本题目的目标是编写一个函数 `is_palindrome` 来判断输入的字符串...
回文字符串是一个特殊的字符串,它的特点是从前往后读和从后往前读是完全一样的,比如“上海自来水来自海上”、“12321”等。在编程领域,判断一个字符串是否为回文字符串是一个常见的基础问题,对于初学者来说,...
本文实例讲述了Python回文字符串及回文数字判定功能。分享给大家供大家参考,具体如下: 所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的。回文数字也是如此。 python2代码如下: def huiwen...
在计算机科学中,回文字符串是一个特殊的字符串,它正读反读都是一样的,比如"abcba"和"abccba"。本题目的重点在于如何编写C++代码来找到输入字符串中的最大回文子串及其长度。这个问题是字符串处理和算法设计的经典...
在Python编程语言中,回文字符串是一个非常有趣的概念。回文字符串是指一个字符串,无论从前读到后还是从后读到前,字符顺序都是一样的。例如,“上海自来水来自海上”就是一个中文回文字符串,而“madam”是英文中...
c语言代码写的回文字符串判断, for(i=0;i;) { if(str[i++]!=str[j--]) return 0;
Manacher算法:求解最长回文字符串,时间复杂度为O(N) 回文串定义:“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。回文子串,顾名思义,即字符串中满足回文性质的子串。
在Python编程语言中,回文字符串是一个特殊类型的字符串,它正读和反读是一样的,也就是说,当你从左向右读和从右向左读这个字符串时,你会得到完全相同的结果。例如,“level”和“madam”都是回文字符串,而...
在Python编程语言中,回文字符串是一个非常有趣的概念。回文字符串是指无论从前读到后还是从后读到前,其字符顺序都完全相同的字符串,比如"madam"、"racecar"或"level"。在本教程中,我们将探讨如何使用Python来...
ACM比赛常见算法之BFS算法+back回文字符串 ACM比赛常见算法之BFS算法+back回文字符串 ACM比赛常见算法之BFS算法+back回文字符串 ACM比赛常见算法之BFS算法+back回文字符串 ACM比赛常见算法之BFS算法+back回文...
C++/C回文字符串的实例详解判断输入的字符串是不是回文字符串,正反读一样。.C版#include<stdio>int main(){ char he[100]; char a; int i=0,flag=1; while((a=getchar())!='\n') { he[i]=a; i++; } int n=i; for(i=...
在Python编程语言中,回文字符串是一个重要的概念,它指的是正读和反读都一样的字符串。比如"madam"、"racecar"或"level"。这些字符串无论从左向右读还是从右向左读,字符顺序都是一样的。在实际应用中,判断一个...