错误:在Java递归列表反向方法中“无法返回void结果”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了错误:在Java递归列表反向方法中“无法返回void结果”相关的知识,希望对你有一定的参考价值。

所以,我用Java编写的方法有一些奇怪的问题,我可以使用一些帮助。这是代码:

    public <T> LinkedList<T> recursiveReverse(LinkedList<T> l){
        if(l.size() == 1) return l;
        else{
            T a = l.pop();
            return recursiveReverse(l).addLast(a); <-- Error
            }
       }

我已经对这个问题进行了一些搜索,但我得到的只是当他们的签名无效时人们试图返回的东西。我不觉得这段代码有什么问题,而且Java也是个笨蛋。任何帮助,将不胜感激。

答案

方法addLast返回void而recursiveReverse的返回类型是LinkedList<T>,而你想要的是:

recursiveReverse(l).addLast(a);
return l;

以上是关于错误:在Java递归列表反向方法中“无法返回void结果”的主要内容,如果未能解决你的问题,请参考以下文章

java 206.反向链接列表(#1递归).java

java 206.反向链接列表(#1递归).java

java 206.反向链接列表(#1递归).java

java 206.反向链接列表(#1递归).java

java 206.反向链接列表(#1递归).java

双链接列表java反向函数错误