Javaの連結リスト基本的な考え方と参照型。ノードの数を数える

インタビューで頻出される連結リスト(LinkedList)の基本的な考え方をJavaで説明していきます。

Nodeの数を数えたい場合、参照型リストを別に作成し、ループさせるのが基本。以下のメソッドでリスト内のNode数を数えることができます。tempのポインターを移動させていくので、temp自体は変更されていきますが、headは変更されずに数を数えることが可能です

        ListNode temp = head; // 参照型リストtemp
        int count = 0;
        
        while(temp != null){ // nullになるまで、つまり最後のNodeまでループ
            count++;
            temp = temp.next; // ポインターをひとつずつずらしていく
        }
public class ListNode {

    int val;
    ListNode next;

    ListNode() {
    }

    ListNode(int val) {
        this.val = val;
    }

    ListNode(int val, ListNode next) {
        this.val = val;
        this.next = next;
    }
}

LinkedListの基本が怪しい人はここで一度勉強しておくと良いです。