我想知道为什么代码会引发错误:不兼容的类型:列表无法转换为LinkedList。
但是,当我将方法 helper 更改为:
时,它可以运行公共无效帮助器(字符串curr,列表res,向左,向右,向右,int n){
或者我更改调用构造函数的代码: LinkedList res =新的LinkedList();
class Solution {
public List<String> generateParenthesis(int n) {
List<String> res = new LinkedList<String>();
helper("",res,0,0,n);
return res;
}
public void helper(String curr, LinkedList<String> res,int left,int
right,int n){
if(right==n) {res.add(curr); return;}
if(left<n) helper(curr+"(",res,left+1,right,n);
if(right<left) helper(curr+")",res,left,right+1,n);
}
}
答案 0 :(得分:2)
List<String> res = new LinkedList<>();
在此行中,您将LinkedList
分配给List
类型的变量。因此,您的res变量的类型将是List
,而不是LinkedList
。
然后,您尝试将List
类型的变量传递给采用LinkedList
类型参数的方法。所以这是不可能的。
因此您可以将res变量的类型更改为LinkedList
或将方法参数更改为List