`
crackajack_zg
  • 浏览: 53981 次
社区版块
存档分类
最新评论

回文字符串

 
阅读更多


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 //提示:自动阅卷结束唯一标识,请勿删除或增加。

}
分享到:
评论

相关推荐

    C语言判断回文字符串代码.rar

    在编程领域,回文字符串是一个重要的概念,它指的是一个字符串,无论从左向右读还是从右向左读,其字符顺序都完全相同。比如"madam"、"level"和"上海自来水来自海上"都是回文字符串。在C语言中,我们可以编写程序来...

    python判断回文字符串

    回文字符串是一个特殊的字符串,它的特点是从前往后读和从后往前读是完全一样的,比如“上海自来水来自海上”、“abccba”。在Python中,判断一个字符串是否为回文非常简单,我们可以利用Python的特性来高效实现。...

    Python实现最短回文字符串输出

    Python实现最短回文字符串输出

    判断回文字符串的C程序

    判断回文字符串的C程序,一个简单的小作业,课程中写的,不会的可以参考一下。

    回文字符串的判断

    ### 回文字符串的判断 #### 一、什么是回文字符串? 在计算机科学与编程领域中,回文字符串(Palindrome)是指一个字符串正读反读都一样的特性。例如,“madam”、“level”等就是典型的回文字符串。这类字符串...

    最长回文字符串

    回文字符串是一个在正读和反读时都保持相同的字符串,比如"madam"、"racecar"。在计算机科学中,寻找一个字符串中的最长回文子串是一项基础且重要的任务,尤其在文本处理和算法设计中。这个问题的解决通常涉及到字符...

    Python编程题-回文字符串.docx

    在Python编程中,回文字符串是一个重要的概念,它是指一个字符串正读和反读都一样的特性。例如,"madam"、"racecar" 和 "level" 都是回文字符串。本题目的目标是编写一个函数 `is_palindrome` 来判断输入的字符串...

    判断回文字符串小程序

    回文字符串是一个特殊的字符串,它的特点是从前往后读和从后往前读是完全一样的,比如“上海自来水来自海上”、“12321”等。在编程领域,判断一个字符串是否为回文字符串是一个常见的基础问题,对于初学者来说,...

    Python回文字符串及回文数字判定功能示例

    本文实例讲述了Python回文字符串及回文数字判定功能。分享给大家供大家参考,具体如下: 所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的。回文数字也是如此。 python2代码如下: def huiwen...

    计算字符串中最大回文长度,并返回回文字符串及长度

    在计算机科学中,回文字符串是一个特殊的字符串,它正读反读都是一样的,比如"abcba"和"abccba"。本题目的重点在于如何编写C++代码来找到输入字符串中的最大回文子串及其长度。这个问题是字符串处理和算法设计的经典...

    python判断回文字符串-08-字典的循环遍历之value.ev4.rar

    在Python编程语言中,回文字符串是一个非常有趣的概念。回文字符串是指一个字符串,无论从前读到后还是从后读到前,字符顺序都是一样的。例如,“上海自来水来自海上”就是一个中文回文字符串,而“madam”是英文中...

    回文字符串判断

    c语言代码写的回文字符串判断, for(i=0;i;) { if(str[i++]!=str[j--]) return 0;

    Manacher算法:求解最长回文字符串,时间复杂度为O(N)

    Manacher算法:求解最长回文字符串,时间复杂度为O(N) 回文串定义:“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。回文子串,顾名思义,即字符串中满足回文性质的子串。

    python判断回文字符串.docx

    在Python编程语言中,回文字符串是一个特殊类型的字符串,它正读和反读是一样的,也就是说,当你从左向右读和从右向左读这个字符串时,你会得到完全相同的结果。例如,“level”和“madam”都是回文字符串,而...

    python判断回文字符串-07-字典的循环遍历之key.ev4.rar

    在Python编程语言中,回文字符串是一个非常有趣的概念。回文字符串是指无论从前读到后还是从后读到前,其字符顺序都完全相同的字符串,比如"madam"、"racecar"或"level"。在本教程中,我们将探讨如何使用Python来...

    ACM比赛常见算法之BFS算法+back回文字符串

    ACM比赛常见算法之BFS算法+back回文字符串 ACM比赛常见算法之BFS算法+back回文字符串 ACM比赛常见算法之BFS算法+back回文字符串 ACM比赛常见算法之BFS算法+back回文字符串 ACM比赛常见算法之BFS算法+back回文...

    C++/C 回文字符串的实例详解

    C++/C回文字符串的实例详解判断输入的字符串是不是回文字符串,正反读一样。.C版#include&lt;stdio&gt;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判断回文字符串.pptx

    在Python编程语言中,回文字符串是一个重要的概念,它指的是正读和反读都一样的字符串。比如"madam"、"racecar"或"level"。这些字符串无论从左向右读还是从右向左读,字符顺序都是一样的。在实际应用中,判断一个...

Global site tag (gtag.js) - Google Analytics