Linked List is a linear data structure. Linked list elements are not stored at a contiguous location, the elements are linked using pointers. Singly Linked list is the collection of nodes, where each node has two parts one is the data and other is the linked part.
Example:
Input : AddNodes = {2, 3, 4} Output: LinkedList = [2, 3, 4] Size = 3 Input : AddNodes = {1, 2, 3, 4, 5} Output: LinkedList = [1, 2, 3, 4, 5] Size = 5
Operations:
- Create Node linked list
- Define methods like addNode(),displayNodes() and countNodes()
- Get the final answer
 Implementation:
Java
// Java Program to Create a Singly Linked List // of n Nodes and Count the Number of Nodes import java.io.*; import java.util.*; Â
public class LinkedListCreation { Â
    class Node {         int data;         Node next; Â
        // constructor to create new node         Node( int data)         {             this .data = data;             this .next = null ;         }     } Â
    // Initially both head and tail are not     // pointing to any other node     Node head = null ;     Node tail = null ; Â
    // method to add newNode in Linked List     void addNode( int data)     { Â
        Node newNode = new Node(data); Â
        // Checks if the list is empty         if (head == null ) {             // If list is empty, both head and             // tail will point to new node             head = newNode;             tail = newNode;         }         else { Â
            tail.next = newNode;             // storing newnode in tail             tail = newNode;         }     }     // display linked list     void displayNodes()     { Â
        Node current = head;         if (head == null ) {             System.out.println( "Empty" );             return ;         }         System.out.println( "Nodes : " );         while (current != null ) { Â
            System.out.print(current.data + " " );             current = current.next;         }         System.out.println();     } Â
    // method to count nodes     int countNodes()     {         // Initially zero         int count = 0 ; Â
        Node currentNode = head;         // iterate until all the nodes are present         while (currentNode != null ) { Â
            count++;             currentNode = currentNode.next;         }         // return the count         return count;     } Â
    public static void main(String[] args)     { Â
        LinkedListCreation L1 = new LinkedListCreation(); Â
        L1.addNode( 1 );         L1.addNode( 2 );         L1.addNode( 3 );         L1.addNode( 4 ); Â
        // Displays the nodes present in the list         L1.displayNodes(); Â
        // Counts the nodes present in the given list         System.out.println( "Total Nodes: "                            + L1.countNodes());     } } |
Nodes : 1 2 3 4 Total Nodes: 4
Time Complexity For new node Insertion:
- At first: O(1)
- At End: O(N), where N is the size of linked list
Time Complexity For count number of nodes: O(N), where N is a number of nodes
Auxiliary space: O(1) as it is using constant space
Â