索引从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和11,则它不是回文。然而,您的字符串
s1
和s2
都应该变成111
,这是相等的,所以您的方法应该返回true
- 你最后没有测试-1。不是吗
BTW我看不到任何索引,也看不到元素之间有任何空格。
我也不明白运行时错误是如何发生的,对不起。同样,运行您的代码可能会给我一个更大的机会。