Не понимаю что происходит в коде

я владею базовым си шарпом и не понимаю что происходит в этом коде с Leetcode. Я решил задачу при помощи List в VS верно, но решение считается не верным, т,к я не понимаю что происходит в этом коде. Я понимаю что это реализация связного списка в си шарп, но я так и не понял что происходит в этих строчках. B что значит next в данном коде. Буду благодарен если поможете разобраться. Спасибо.

public ListNode next;

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     public int val;
 *     public ListNode next;
 *     public ListNode(int val=0, ListNode next=null) {
 *         this.val = val;
 *         this.next = next;
 *     }
 * }
 */

Ответы (1 шт):

Автор решения: aepot

Простейший односвязный список.

Например можно создать ноду

var node1 = new ListNode(42);

Теперь можно создать ещё парочку, но указывая ссылку на ранее созданную ноду

var node2 = new ListNode(123, node1);
var node3 = new ListNode(6543, node2);

Вот и создался односвязный список из 3 нод. Теперь можно по нему прогуляться циклом

var node = node3;
while (node != null);
{
    Console.WriteLine(node.val);
    node = node.next;
}

Вывод в консоль

6543
123
42

Можно даже так, с циклом for

for (var node = node3; node != null; node = node.next)
{
    Console.WriteLine(node.val);
}
→ Ссылка