2014-01-07 88 views
3

我想計算一個特定的整數在我的鏈接列表中發生的次數。但是我正在陷入無限循環。我嘗試打印變量以查看代碼到達的位置,但沒有打印。我想知道是否有人能爲我增加一雙眼睛。迭代通過鏈接列表時無限循環

LinkedListNode類很簡單:

public class LinkedListNode { 
    int data; 
    public LinkedListNode next; 


    // constructor 
    public LinkedListNode(int newData) { 
     this.next = null; 
     this.data = newData; 
    } 
} 

我的代碼:

public static int countInt(LinkedListNode head, int number) { 
    int count = 0; 

    while (head.next != null) { 
     if (head.data == number) { 
      count++; 
      //System.out.println(count); 
      head = head.next; 
      //System.out.println(head.data); 
     } 
    } 
    return count; 
} 

回答

5

你應該將head到下一個節點,即使if不滿足。

+0

沒有看到這個謝謝!對我來說,這是深夜! – Liondancer

+2

@Liondancer沒問題,這就是爲什麼世界上有白天和黑夜:)人們在白天幫助人們;) – Maroun

+1

我以爲世界是平的......哈哈 – Liondancer

3

當前節點等於您發送給countInt的號碼時,您只能移動到下一個節點。