자료구조
링크드 리스트(4) - 더블 링크드 리스트 II
Bryan Lee
2022. 4. 28. 15:40
- 더블 링크드 리스트에서 데이터를 임의의 노드 앞에 노드를 추가하는 메서드는
기존의 코드(https://bryanlee.tistory.com/47)에 다음 메서드를 추가하면 됨
public boolean insertToFront(T existedData, T addData){
if(this.head == null){
this.head = new Node<T>(addData);
this.tail = this.head;
}else if(this.head.data == existedData){
Node<T> newHead = new Node<T>(addData);
newHead.next = this.head;
this.head = newHead;
return true;
}else{
Node<T>> node = this.head;
while(node != null){
if(node.data == existedData){
Node<T> nodePrev = node.prev;
nodePrev.next = new Node<T>(addData);
nodePrev.next.next = node;
nodePrev.next.prev = nodePrev;
node.prev = nodePrev.next;
return true;
}else{
node = node.next;
}
}
return false;
}
}
참고
- 한 번에 끝내는 코딩테스트 369 Java편 초격차 패키지 Online