2017-06-13 4 views
0

リンクリストのノードを削除するための割り当てをしようとしています。フロントノードを削除して、friendListがnullのときに戻るようにしました。 firstFriendは、メモリ内のPersonを持ち、別の友人を指し示すFriendオブジェクトです。このメソッドはfirstFriendリンクリストからフレンドを削除します。別々:あなたが最初Friendリンクリストのノードをvoid return文で削除する[Java]

リスト上のヒント#2を削除しているときにしか firstFriendを更新する必要があります。私は、メソッド内で適切にfirstFriendを更新する方法で

public void removeFriend(Person friend){   
    Friend prev = null, curr = firstFriend, front = firstFriend; 
    if (curr == null){ 
     return; 
    } 
    while(firstFriend != null){ 
     if(friend.equals(curr.who)){ 
      if(prev == null){ 
       firstFriend = firstFriend.nextFriend; 
      return; 
     } 
      else{ 
       prev = curr.nextFriend; 
     } 
     prev = curr;   
     curr = curr.nextFriend; 

    }  
     firstFriend = front; 

    return; // replace this line 

答えて

0

ヒント#1を苦労しています1)削除するPersonを指しているFriendノードを見つけて、2)すべてを一度に行うのではなく、実際にFriendを削除して、2つの部分にFriendを削除する問題。

関連する問題