/
lyapdy
/
GB_Algorithms
Обзор
Документация
Войти
/
lyapdy
/
GB_Algorithms
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Homework3/MergeSortedLists.java
55 строк
2 KB
danillyapunov
update Homework3/MergeSortedLists.java
01 фев 2025, 16:31
01 фев 2025, 16:31
56742b4
Код
Авторство
О чём код?
/*Задача 3. Слияние двух отсортированных односвязных списков Реализуйте метод, который сливает два отсортированных односвязных списка в один отсортированный список.*/ class ListNode { int val; ListNode next; ListNode(int val) { this.val = val; } } public class MergeSortedLists { public static ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode dummy = new ListNode(-1); // Временный узел ListNode current = dummy; while (l1 != null && l2 != null) { if (l1.val < l2.val) { current.next = l1; l1 = l1.next; } else { current.next = l2; l2 = l2.next; } current = current.next; } // Добавляем оставшиеся элементы одного из списков current.next = (l1 != null) ? l1 : l2; return dummy.next; } public static void printList(ListNode head) { while (head != null) { System.out.print(head.val + " -> "); head = head.next; } System.out.println("null"); } public static void main(String[] args) { ListNode l1 = new ListNode(1); l1.next = new ListNode(3); l1.next.next = new ListNode(5); ListNode l2 = new ListNode(2); l2.next = new ListNode(4); l2.next.next = new ListNode(6); ListNode mergedList = mergeTwoLists(l1, l2); System.out.println("Merged List:"); printList(mergedList); } }