リンクリストの問題に取り組んでいます。これが私のコードの質問の問題です。3つのエラーが発生しています。助けてください。
リンクリストを取得し、奇数の要素を返す「odd」という関数を記述します。実際には、「奇数」と「偶数」という2つの関数を記述します。odd(L)は、Lの1、3、5 ...アイテムのリストを返します。even(L)は、Lの2、4、6 ...アイテムのリストを返します。そして、各関数は、他の関数を呼び出します。これらの2つの関数は、単純な観察に基づいています。L.nextはLに似ていますが、最初の項目が欠落しています。最初のアイテムを取り除くと、アイテムN + 1はアイテムNになります。したがって、Lの2番目、3番目、4番目の要素は、L.nextの1番目、2番目、3番目の要素になります。ここで、N + 1が奇数の場合、Nは偶数ですが、N + 1が偶数の場合、Nは奇数です。したがって、L.nextの奇数メンバーはLの偶数メンバーであり、L.nextの偶数メンバーはLの奇数メンバーです。次に、次のようにodd(L)を計算できます。Lがnullの場合、nullを返します。それ以外の場合は、最初のアイテムがL.itemであるリストを返します。その尾が偶数である間(L.next)。even(L)を計算するには:Lがnullの場合、nullを返します。それ以外の場合は、odd(L.next)を返します。main関数は、コマンドラインから正の整数のリストを読み取り、-1でリストを終了する必要があります。これらの整数を含むリンクリストを形成し、奇数メンバーのリストを計算して、それらを出力する必要があります。
私のコード:
public class linkedlist
{
public static void main(String[] args)
{
List odd = new ArrayList();
List even = new ArrayList();
odd(L, odd, even);
}
void odd(L curNode, ArrayList oddList, ArrayList evenList)
{
if (curNode == null) return;
oddList.append(curNode.val);
even(curNode, oddList, evenList);
}
void even(L curNode, ArrayList oddList, ArrayList evenList)
{
if (curNode == null || curNode.next == null) return;
evenList.append(curNode.n ext.val);
odd(curNode.next.next, oddList, evenList);
}
}