public void addFirst(E elem)
{
if(size ==0)
{
head.next = new Node(elem);
size++;
}
else
{
Node newNode = new Node(elem);
newNode.next = head.next;
head.next = newNode;
size++;
}
}
我是这么想的:
(1) newNode.next = head.next; 的意思是让newNode和head指向同一个结点 ,这样一来,就可以让新结点(就是newNode) 指向了头结点指向的那个结点
(2) head.next = newNode; 的意思是让head指向的结点是newNode,这样,就可以让head指向了newNode结点,从而实现了向链表头添加元素
具体过程如图。
视频中代码 head后都不加.next, 而我的head后都加了.next , 不知道我这样想有没有什么问题?
我之后的视频没怎么看,根据我的想法,我测试了一下代码,也没有抛出异常,不知道我这么想对不对?