【解決方法】単一の連結リストの実装


addLast メソッドを使用して要素を最後に追加すると、null ポインター例外がスローされます。

私が試したこと:

package dataStructures;

public class linkedlist {
   Node head;
	class Node{
		int data;
		Node next;
		
		  Node(int data) {
		    this.data = data;
		    this.next =null;
				
			}
	}
	
	public void addFirst(int data) {
		Node newnode = new Node(data);
		  
	
		if(head == null) {
			head = newnode;
			return;
			
		}
		else {
			newnode.next = head;
			head = newnode;
			return;
			
		}
		
	}
	
	public void addLast(int data) {
		Node newnode = new Node(data);
		if(head == null) {
			head = newnode;
			return;
		}
		
		Node currnode = head;
		
		while(currnode != null) {
			currnode = currnode.next;
		}
		try {
			 currnode.next = newnode;
		}
		catch(Exception e1){
			System.out.println("Exception occured in addLast method");
		}
		
		
	}
	
	public void printLlist() {
		if(head == null) {
			System.out.println("list is empty");
		}
		Node currnode = head;
		while(currnode != null) {
			System.out.print(currnode.data + " ");
			currnode = currnode.next;
		}
	}

	
	
	public static void main(String[] args) {
		linkedlist list = new linkedlist();
		
		list.addFirst(2);
		list.addFirst(6);
		list.addFirst(7);
		list.addLast(5);
		list.printLlist();
	}

}

解決策 1

交換

見積もり:

while(currnode != null) {
currnode = currnode.next;
}
試す {
currnode.next = newnode; // ここで currnode は null です

}

Java
while(currnode.next != null) {
			currnode = currnode.next;
		}
		try {
			 currnode.next = newnode;
		}

コメント

タイトルとURLをコピーしました