有一个快速问题,这是链接列表的一部分。它决定了列表的大小,目前它工作不太好,因为即使在我添加了更多节点后,它也会不断返回1。
public int size(){
ListNode currentNode = null;
ListNode previousNode = null;
int numberOfNodes = 0;
if (head == null) return 0;
previousNode = head;
currentNode = head.next;
numberOfNodes++;
while (currentNode != null){
previousNode = currentNode;
currentNode = currentNode.next;
numberOfNodes++;
}
return numberOfNodes;
}
如果addNode函数与此处的函数相同,则会出现错误:
最后一行应该是
previousNode.next = newNode;
而不是
newNode = previousNode.next;
这段代码太混乱了,请尝试以下操作:
public int size() {
int numberOfNodes = 0;
ListNode currentNode = head;
while (currentNode != null){
numberOfNodes++;
currentNode = currentNode.next;
}
return numberOfNodes;
}