2017-06-22 4 views
0

このコードはリンクリストを取り、パラメータで指定されたノードの値よりも小さいノードを返しますが、正反対のことをする。私が間違っていることは何ですか?値がパラメータで設定された値より小さいノードを印刷

static LinkedListNode removeNodes(LinkedListNode list, int x) { 
    LinkedListNode current = list; 
    while(current.next != null){ 
     if (current.val >x){ 
      if (current.next.next == null){ 
       break; 
      } 
      else{ 
      current = current.next.next; 
      } 
     } 
     else{ 
      current = current.next; 
     } 
    } 
    return current; 
} 
+1

<をすべきですか?あなたが望んでいないすべてのものをあなたに与えているならば。 – Chris

+0

**正反対のことをしています**真剣にあなたの文脈では**逆の意味**を意味するが、明らかに** if(current.val> x)**から** if(current.val < x)**はおそらく**反対の**を意味します;あなたは探していますか? – ShayHaned

+0

@Chris **逆の意味**私たちの両方のために同じ**の事に煮詰めました:) – ShayHaned

答えて

0

ノードをリンクリストから削除するには、現在の値の代わりに.next参照を変更する必要があります。あなたはcurrent.val

また、あなた>のxは、x

static LinkedListNode removeNodes(LinkedListNode list, int x) { 
    LinkedListNode current = list; 
    while(current.next != null){ 
     if (current.val < x){ 
      if (current.next.next == null){ 
       break; 
      } 
      else{ 
       current.next = current.next.next; 
      } 
     } 
     else{ 
      current = current.next; 
     } 
    } 
    return current; 
} 
関連する問題