Упражнения на Java: удаление указанного узла в середине односвязного списка
Java Basic: упражнение 175 с решением
Напишите Java-программу для удаления указанного узла в середине односвязного списка.
Образец односвязного списка: 10-> 20-> 30-> 40-> 50
Удалить четвертый узел, т.е. 40
Результат: 10-> 20-> 30-> 50
Иллюстрированная презентация:
Пример решения:
Java-код:
import java.util.*;
import java.util.Arrays;
import java.util.LinkedList;
public class Solution {
public static ListNode head = new ListNode(10);
public static void main(String[] args) {
head.next = new ListNode(20);
head.next.next = new ListNode(30);
head.next.next.next = new ListNode(40);
head.next.next.next.next = new ListNode(50);
ListNode p = head;
System.out.println("Original Linked list:");
printList(p);
System.out.println("\nAfter deleting the fourth node, Linked list becomes:");
deleteNode(head.next.next.next);
p = head;
printList(p);
}
public static void deleteNode(ListNode node) {
if (node.next != null) {
int temp = node.val;
node.val = node.next.val;
node.next.val = temp;
node.next = node.next.next;
} else {
ListNode p = head;
while (p.next.val != node.val) {
p = p.next;
}
p.next = null;
}
}
static void printList(ListNode p) {
while (p != null) {
System.out.print(p.val);
if (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
Блок - схема:
Редактор кода Java:
Компания: Adobe Apple Microsoft
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите программу на Java, чтобы найти максимальное число внутри числа в окне (размер k) при каждом перемещении в заданном массиве промежуточных чисел с повторяющимися числами. Переместить окно с начала массива.
Далее: напишите Java-программу для разбиения заданного массива целых чисел на четное число первым и нечетное число второго.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования