본문 바로가기
알고리즘 문제/Leetcode

[Leetcode] 203. Remove Linked List Elements

by 햄과함께 2021. 11. 13.
320x100

문제 : https://leetcode.com/problems/remove-linked-list-elements/


링크드 리스트의 헤드와 정수값 val 이 주어지면 링크드 리스트들 중 노드 값이 val 과 같은 노드들은 제거한 뒤 헤드를 반환하라.


head 부터 탐색하면서 만일 탐색 중인 노드 값이 val이 아니라면 다음 노드를 탐색한다.

만일 삭제해야 하는 노드라면 탐색 중인 노드의 바로 전 노드에 탐색 중인 노드의 next 노드를 연결한다.

이를 위해 최근에 탐색한 노드를 별도의 변수에 저장하고 있어야 한다.

만일 삭제될 노드가 head 노드라면 탐색중인 노드의 next 노드를 새로운 head 노드로 세팅한다.

 

시간복잡도는 O(N). N = 링크드 리스트 노드 개수.


소스코드 : https://github.com/fpdjsns/Algorithm/blob/master/leetcode/easy/203.%20Remove%20Linked%20List%20Elements.cpp

320x100

댓글