๐Ÿฅž BE
home

23_Merge k Sorted Listes

๋‹ด๋‹น์ž
์™„๋ฃŒ ์—ฌ๋ถ€
Solved
์š”์•ฝ
๋‚ ์งœ
2024/07/12
ํƒœ๊ทธ
์ž๋ฃŒ๊ตฌ์กฐ
๋‚œ์ด๋„
Hard
์ถœ์ฒ˜
LeetCode

์ฝ”๋“œ

import java.util.PriorityQueue; class lt23 { public ListNode mergeKLists(ListNode[] lists) { if (lists == null || lists.length == 0) { return null; } // ์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ์˜ ๋…ธ๋“œ๋ฅผ ์ •๋ ฌ PriorityQueue<ListNode> queue = new PriorityQueue<>((a, b) -> a.val - b.val); // ๋ชจ๋“  ๋ฆฌ์ŠคํŠธ์˜ ์ฒซ ๋ฒˆ์งธ ๋…ธ๋“œ๋ฅผ ํ์— ์ถ”๊ฐ€ for (ListNode node : lists) { if (node != null) { queue.offer(node); } } // ๋”๋ฏธ ํ—ค๋“œ ์ƒ์„ฑ ListNode dummyHead = new ListNode(0); ListNode current = dummyHead; // ํ์—์„œ ๋…ธ๋“œ๋ฅผ ํ•˜๋‚˜์”ฉ ๊บผ๋‚ด์–ด ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ƒ์„ฑ while (!queue.isEmpty()) { ListNode node = queue.poll(); current.next = node; current = current.next; // ๋‹ค์Œ ๋…ธ๋“œ๋ฅผ ํ์— ์ถ”๊ฐ€ if (node.next != null) { queue.offer(node.next); } } return dummyHead.next; } }
Java
๋ณต์‚ฌ

๋ฌธ์ œ ํ•ด๊ฒฐ ์•„์ด๋””์–ด