我的项目是查看用户输入的字符串是否是回文。首先,将字符串放入链接列表中,然后将其复制到第二个链接列表中,在此完全颠倒列表以便比较它们。比较2个链表的数据! (Java)
链表是我自己的类以及其中的所有方法。我已确认链接列表的工作方式与反向方法相同。
我遇到问题的时候,当我尝试并从列表的开头比较2。 这是我已经试过:
package palindromes;
import data_structures.*;
import java.util.Iterator;
public class Palindrome
{
public boolean isPalindrome(String s)
{
if (s.length() <= 1) // base case
return true;
String originalList = s.replaceAll("[\\W]", "").toLowerCase();
LinkedList<Character> list1 = new LinkedList<Character>();
LinkedList<Character> rlist = new LinkedList<Character>();
for (int i = 0; i < originalList.length(); i++)
{
list1.addLast(originalList.charAt(i));
}
rlist = list1;
rlist.reverse();
Iterator<Character> l1 = list1.iterator();
Iterator<Character> l2 = rlist.iterator();
while (l1.hasNext() && l2.hasNext())
{
if (l1.next() != l1.next())
return false;
}
return true;
}
}
我试图通过这两个列表中while循环迭代,但是当我去考节点的数据是不正确。
如果您需要补充信息或澄清,请让我知道。
我的问题是我如何修复我的代码,以便我能够按顺序比较列表以查看输入的字符串是否是回文或不?
决不会比较的对象''==如果你想比较平等 - ''==比较对象的身份! – Smutje
您不必在'[]'中放置'\\ W'。 – Pshemo