-
확실히 알고가야 하는 자료구조, 알고리즘 (4) : Linked List 중간 노드 삭제하기ALGORITHM 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; } }
'ALGORITHM' 카테고리의 다른 글
확실히 알고가야 하는 자료구조, 알고리즘 개념 (7) : Linked List 루프 찾기 (0) 2021.03.31 확실히 알고가야 하는 자료구조, 알고리즘 개념 (6) : LinkedList 교차점 찾기 (0) 2021.03.28 확실히 알고가야 하는 자료구조, 알고리즘 개념 (3) : 단방향 Linked List의 끝에서 k 번째 노드 찾기 (0) 2021.03.26 확실히 알고가야 하는 자료구조, 알고리즘 개념 (2) : 단방향/양방향 Linked List (0) 2021.03.25 확실히 알고가야 하는 자료구조, 알고리즘 개념 (1) : Linked List (0) 2021.03.25