Не понимаю что происходит в коде
я владею базовым си шарпом и не понимаю что происходит в этом коде с 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 шт):
Простейший односвязный список.
Например можно создать ноду
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);
}