Reputation: 1
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 returning 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;
}
Upvotes: 0
Views: 64
Reputation: 20594
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;
}
Upvotes: 0
Reputation: 93010
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;
Upvotes: 2