在这个方法中,即使添加了更多的节点,我也会得到一个返回值One



有一个快速问题,这是链接列表的一部分。它决定了列表的大小,目前它工作不太好,因为即使在我添加了更多节点后,它也会不断返回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;
}

相关内容

  • 没有找到相关文章

最新更新