开发者

In this method I keep getting a return value of One even after I add more nodes

Got a quick question, this is part of a linked list. It determines what the size of the list is, it doesnt work very well at the moment because it keeps return开发者_如何学Going a 1 even after I add more nodes.

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;

}


If the addNode function is as the one in here then you have an error:

Last line should be

    previousNode.next = newNode;

instead of

    newNode = previousNode.next;


Too much clutter in this code, try the following:

public int size() {
  int numberOfNodes = 0;
  ListNode currentNode = head;
  while (currentNode != null){
    numberOfNodes++;
    currentNode = currentNode.next;
  }
  return numberOfNodes;
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜