2017-10-14 25 views
-1

入力ListArrayが空の場合、空のListNodeを返そうとしています。入力ListArrayが空の場合は空のリストを返します。[削除]

ListNodeクラスは次のとおりです。

public class ListNode { 
    int val; 
    ListNode next; 
    ListNode(int x) { val = x; } 
    } 

と機能入力が[]され、出力は[]あるべきときに空Listnodeを返すために、次のとおりです。

public ListNode mergeKLists(ListNode[] lists) { 
    if(lists == null)  // this is not the case, because an empty list is there 
     return null; 
    if(lists.length == 0)  
     return lists[0]; //this won't work because there's nothing at the 0th index 
     return null; // won't work because I want to return an empty ListNode 
} 
+0

あなたが「空ListNode」によって何を意味するかは明らかではありません。 '新しいリストノード(0)'または '新しいリストノード()'を返すことができます – c0der

+0

ありがとう!私はあなたの答えからヒントを得ました。基本的に 'new ListNode()'を使用すると、整数が返されるというエラーが返されます。しかし、 '新しいListNode(0).next'が機能しました! – Neha

+0

'next 'を初期化しなかったため、' new ListNode(0).next'はnullです。詳細は回答を参照してください。 – c0der

答えて

1

あなたが何をすべきか明確ではありません「空のListNode」を意味します。
new Listnode(0)またはnew ListNode()を返すことができます。

ListNode() { } 
+0

答えをありがとう。 – Neha

1

あなたはこのようにそれを行うことができます:後であなたが適切なコンストラクタを定義する必要がありますについては

public ListNode mergeKLists(ListNode[] lists) { 
     if(lists.length == 0)  
      //This will return an ListNode array of length 0. i.e. [] 
      return new ListNode[0]; 
    } 
+0

これは値0のListNodeを返します。そうではありません。 Nodeは値を持たないはずです。 – Neha

+0

あなたはそれを実行しようとしましたか? –

関連する問題