k 개의 정렬된 연결 리스트를 병합하여 하나의 정렬된 리스트로 만드는 문제이다.
C++ STL의 priority_queue를 이용한 풀이를 통해, 우선순위 큐의 사용방식을 이해해본다.
ListNode 구조체의 val 값을 비교하므로 < 연산자를 오버로딩하거나
bool operator( )를 갖는 구조체나 클래스를 정의해서 사용해야 한다.
priority_queue의 정의는
priority_queue <자료형, 컨테이너 구현체, 비교 연산자> 방식으로 한다.
컨테이너는 기본설정과 동일한 vector컨테이너로 지정하였다.
우선 k 개의 벡터를 모두 우선순위 큐에 삽입하고
ListNode 포인터 cur을 옮겨가는 방식으로 구현되었다.
'프로그래밍 > C++' 카테고리의 다른 글
/leetcode 11/ Container With Most Water (0) | 2019.12.23 |
---|
댓글