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;
}
精彩评论