ALGORITHM
확실히 알고가야 하는 자료구조, 알고리즘 (4) : Linked List 중간 노드 삭제하기
유순이
2021. 3. 27. 13:47
삭제해야 하는 노드의 다음 노드의 데이터를 복사하여 삭제해야 하는 노드에 덮어 씌웁니다.
그리고 중복되는 노드를 삭제합니다.
public class Test {
public static void main (String[] args){
LinkedList ll = new LinkedList();
ll.append(1);
ll.append(2);
ll.append(3);
ll.append(4);
ll.retrieve();
deleteNode(ll.get(2));
ll.retrieve();
}
private static boolean deleteNode(Node n){
if(n == null || n.next == null){ //이 로직은 처음과 마지막 노드는 삭제할 수 없습니다.
return false;
}
Node next = n.next;
n.data = next.data;
n.next = next.next;
return true;
}
}