使用递归的词缀链接表

问题描述 投票:-3回答:1

索引从0开始.输入格式: 链接的列表元素(用空格分隔,以-1结束)

在一个隐藏的测试用例上出现了一些运行时错误。main() 正在接受输入并传递 head.

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 将以反向方式存储数据,因为它是在递归函数之后。然后可以比较这些字符串。

java recursion palindrome
1个回答
0
投票

由于你没有提供一个可重复的例子,我无法运行你的代码并验证任何假设。所以这只是从检查的角度出发。

  1. 如果列表中的数字是1和11,那就不是一个词组。然而你的字符串 s1s2 都应成为 111所以,你的方法应该返回 true.
  2. 你不是在测试最后的-1吗?你不应该这样做吗?

另外我没有看到任何索引,也没有看到元素之间有空格。

我也没有理解为什么会出现运行时错误,抱歉。同样,运行你的代码可能会给我更大的机会。

© www.soinside.com 2019 - 2024. All rights reserved.