使用递归的回文链接列表



索引从0开始。输入格式:链表元素(用空格分隔,以-1结尾(

在一个隐藏的测试用例上存在一些运行时错误。CCD_ 1正在接受输入并通过CCD_。

public class Solution {
static String s1="",s2="";
public static boolean isPalindrome_2(LinkedListNode<Integer> head) {
if (head != null) {
s1 = s1 + head.data;
isPalindrome_2(head.next);
s2 = s2 + head.data;
}
if (s1.equals(s2))
return true;
return false;
}
}

算法应该如何工作:s1将存储包含所有数据的字符串。s2将以相反的方式存储数据,因为它在递归函数之后。然后可以比较字符串。

由于您没有提供可复制的示例,我无法运行您的代码并验证任何假设。因此,这仅来自检查。

  1. 如果列表中的数字是1和11,则它不是回文。然而,您的字符串s1s2都应该变成111,这是相等的,所以您的方法应该返回true
  2. 你最后没有测试-1。不是吗

BTW我看不到任何索引,也看不到元素之间有任何空格。

我也不明白运行时错误是如何发生的,对不起。同样,运行您的代码可能会给我一个更大的机会。

最新更新