Упражнения на Java: объединение двух заданных отсортированных списков
Java Basic: упражнение 143 с решением
Напишите программу на Java для объединения двух заданных отсортированных списков.
Пример решения:
Java-код:
public class Solution {
public static void main(String[] args) {
ListNode list1 = new ListNode(1);
list1.next = new ListNode(3);
list1.next.next = new ListNode(7);
list1.next.next.next = new ListNode(9);
list1.next.next.next.next = new ListNode(13);
ListNode list2 = new ListNode(2);
list2.next = new ListNode(40);
ListNode head = mergeTwoLists(list1, list2);
System.out.print("Merge Two Sorted ListsT:\n");
while (head != null) {
System.out.print(head.val + " ");
head = head.next;
}
}
public static ListNode mergeTwoLists(ListNode list1, ListNode list2) {
ListNode head = new ListNode(0);
ListNode mlist = head;
while (list1 != null && list2 != null) {
if (list1.val < list2.val) {
mlist.next = new ListNode(list1.val);
mlist = mlist.next;
list1 = list1.next;
} else {
mlist.next = new ListNode(list2.val);
mlist = mlist.next;
list2 = list2.next;
}
}
while (list1 != null) {
mlist.next = new ListNode(list1.val);
mlist = mlist.next;
list1 = list1.next;
}
while (list2 != null) {
mlist.next = new ListNode(list2.val);
mlist = mlist.next;
list2 = list2.next;
}
head = head.next;
return head;
}
}
class ListNode {
int val;
ListNode next;
ListNode(int val) {
this.val = val;
this.next = null;
}
}
Пример вывода:
Объединить два отсортированных списка T: 1 2 3 7 9 13 40
Блок - схема:
Редактор кода Java:
Компания: Microsoft Apple, LinkedIn Amazon
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите программу на Java, чтобы проверить, являются ли две данные строки анаграммами или нет.
Далее: напишите программу на Java, чтобы удалить все вхождения указанного значения в заданном массиве целых чисел и вернуть новую длину массива.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code