Java Basic: упражнение 175 с решением
Напишите программу на Java для удаления указанного узла в середине односвязного списка.
Пример Односвязный список: 10-> 20-> 30-> 40-> 50
Удалить четвертый узел, т.е. 40
Результат: 10-> 20-> 30-> 50
Графическая презентация:
Пример решения:
Код Java:
импорт java .util. *; import java.util.Arrays; import java.util.LinkedList; общедоступный класс Решение {общедоступный статический ListNode head = новый ListNode (10); public static void main (String [] args) {head.next = new ListNode (20); head.next.next = новый ListNode (30); head.next.next.next = новый ListNode (40); head.next.next.next.next = новый ListNode (50); ListNode p = head; System.out.println ("Исходный связанный список:"); printList (p); System.out.println (" nПосле удаления четвертого узла связанный список становится:"); deleteNode (head.next.next.next); p = голова; printList (p); } общедоступный статический void deleteNode (узел ListNode) {если (node.next! = null) {int temp = node.val; node.val = node.next.val; node.next.val = temp; node.next = node.next.next; } else {ListNode p = голова; в то время как (p.next.val! = node.val) {p = p.next; } p.next = null; }} static void printList (ListNode p) {в то время как (p! = null) {System.out.print (p.val); если (p.next! = null) {System.out.print ("->"); } p = p.next; }}} class ListNode {int val; ListNode next; ListNode (int val) {this.val = val; this.next = null; }}
Пример вывода:
Исходный связанный список: 10-> 20-> 30-> 40-> 50 После удаления четвертого узла связанный список становится: 10-> 20-> 30-> 50
Блок-схема:
Компания: AdobeAppleMicrosoft
Предыдущий: Напишите программу на Java, чтобы найти максимальное число внутри числа в окне (размер k) при каждом перемещении в заданном массиве целых чисел с повторяющимися числами. Переместите окно с начала массива.
Далее: Напишите программу на Java, чтобы разделить заданный массив целых чисел на четное число сначала и нечетное число второе.