我对C#如何实现链表类的第一个问题有一些疑问:
public class Node {
int data;
Node next;
}
Run Code Online (Sandbox Code Playgroud)
它看起来像是一个而不是一个链表,它是一个Big对象,里面有递归的同类
我的第二个问题更具体,对于一个简单的反向链表算法,如下所示:
public void ReverseList(ref ListNode head){
if(head ==null || head.next == null) return head;
ListNode cur = head;
ListNode prev = null;
ListNode next = head.next;
while (cur != null){
ListNode nextNode = head.next;
cur.next= prev;
prev=cur;
cur=nextNode;
}
head = prev ;
}
Run Code Online (Sandbox Code Playgroud)
是不是cur = head意味着"cur"复制所有链表元素?并且很难想象算法中发生了什么.