问题一:添加
正确的方法:
public void add(ListNode node){
ListNode temp = head;
while (temp.next != null){
temp = temp.next;
}
temp.next = node;
}
有问题的代码:
public void add(ListNode node){
ListNode temp = head.next;
while (temp != null){
temp = temp.next;
}
temp = node;
}
这里导致无法向空链表中添加元素,因为node的地址被赋给了一个null的temp,而此时的temp以及与链表无关,并未与head头节点连起来。
问题二:进行链表的拆分重组
注意将链表中的每个节点都取下来(给节点的next赋值为当前链表的下一节点或null),否则会连带节点后面的一串节点都被连接到新链表的后面。