【发布时间】:2016-09-05 02:23:57
【问题描述】:
我正在尝试提出一种算法来计算由父字符串的字符组成的不同字符串的回文数
现在我正在使用以下来测试生成的字符串是否是回文:
public static Boolean isPalindrome(String s)
{
int n = s.length();
for (int i=0;i<(n / 2);++i)
{
if (s.charAt(i) != s.charAt(n - i - 1))
{
return false;
}
}
return true;
}
哪个工作正常,但是我创建回文的任何尝试都没有按照我想要的方式工作。基本上,我想使用 racecar 之类的词,并提出所有 回文,只要它是回文,字符串中任何字符的任意组合都可能出现。因此,例如,使用赛车当然赛车会像 aaacaaa 甚至 eecrcee 一样工作。我的尝试是徒劳的,有没有人尝试过基于具有这些约束的字符串生成回文?
【问题讨论】:
-
如果你只想要回文数,你可以数学计算。例如,在您的“赛车”示例中,使用字母 [a,c,e,r] 有 4*4*4*4 = 256 个长度为 7 的可能回文。
-
向我们展示您的尝试,我们将帮助您找出您做错了什么。正如您目前的问题一样,您要求我们为您编写代码,这对于 StackOverflow 来说是题外话。见What topics can I ask about here?
-
有什么理由返回一个大写 B 的布尔值?带有小 b 的布尔值将是常态。
-
生成的回文必须和原始的长度相同吗?对于赛车,crarc 和 aaaccceeecccaaa 会起作用吗?如果它们可以是任意长度,当然会有无限多。
-
如果我没记错的话,唯一字母的数量提升到 (n + 1) / 2 的幂。
标签: java string palindrome