java从文件中的多行中查找回文
我想问一下如何从文件中的多行中查找回文(句子-从单词集合中构建回文短语)
例如,文件的结构如下所示
太多了
文本
热的
文本
到
文本
叫声
输出应该太热而不能发出嘘声,但我不知道如何以这种方式实现它
我创建了一个简单的函数来查找单个回文,如果您能帮助我改进它,我将非常高兴
public static boolean findPalindrome(String s) {
int low, high;
low = 0;
high = s.length() - 1;
while (low < high) {
if (s.charAt(low) != s.charAt(high)) {
return false;
}
low++;
high--;
}
return true;
我使用nextLine()方法从文件中加载单词
提前谢谢
# 1 楼答案
我可以告诉你如何反转
String
来确定它是否是回文。我不知道如何根据你的要求有效地构建一个回文短语。要反转字符串,请将原始String
传递给StringBuilder
构造函数,并使用其reverse
方法反转字符串:如果原始字符串和反向字符串相等,则该单词为回文。你必须弄清楚如何构建这个短语
要“暴力破解”,你必须抓取一个单词,并在文件中查找所有以相同字母结尾的单词,而不是关键字开头的单词。然后,你需要抓取第二个字母,并从列表中删除在新位置没有匹配字母的单词。然后你必须弄清楚如何获得更多的单词,等等。我不知道如何继续。但基本上,你必须抓取一个单词,然后与文件中的其他单词逐个进行比较,直到你用完文件中的所有单词。如果言之有物,情况可能不会太糟。但是,如果单词不符合顺序,你必须重新排列单词,然后再试一次