Skip to main content

Find a Node in Linked List

Question: 

Problem statement

You have been given a singly linked list of integers. Write a function that returns the index/position of integer data denoted by 'N' (if it exists). Return -1 otherwise.

Note :
Assume that the Indexing for the singly linked list always starts from 0.


 /****************************************************************


    Following is the class structure of the Node class:

    class Node<T> {
        T data;
        Node<T> next;
    
        public Node(T data) {
            this.data = data;
        }
    }

*****************************************************************/

public class Solution {
    public static int findNode(Node<Integer> head, int n) {
        // Write your code here.


        if(head == null){
            return -1;
        }


        Node<Integer> temp = head;
        int count =0;

        while(temp != null){
            if(temp.data == n){
                return count;
                
            }
            temp = temp.next;
            count++;
        }
        return -1;
    
    }
}


1) why we are using temp variable ?
Ans: if we need to return node then only on that case we need to use temp variable ,
maan lo ham ek linkedlist me se remove kar rhe element to us case me agar ham temp use
nhi karenge to head ka address lost ho jayega aur aise me use return krna hamare liye
mushkil ho jayega isliye ham use karte hai , here we can solve this without temp.

2) why we are checking if(temp.data == n) ?
Ans: agar ham temp.data ke bajaye sirf temp == n likhenge to wo equalities nhi hogi
means n ek int type ka data hai jab ki temp ek node hai isliye temp == n nhi ho skta
hai, we can do one thing we can create like temp.data == n.

Comments

Popular posts from this blog

Block vs Inline Elements In HTML

  Block: Block element always start in New Line  Block element always start in new line occupy complete width available  Example: h2, p, div Inline Element: They do not start in new line occuply width as much required  Example: img, anchor a,span There are no different between div and span, only difference is div is block element and span is Inline, it will help you to group your content or elements

Time Complexity

What is time complexity ? Ans: Time complexity not a run time of a code, its totally depends on system configuration, processor, server , input size will increase time complexity. Time complexity ko likhne ke tarike jo hote hai use notation kehte hai. Notation is basically symbol NOTATION OF COMPLEXITY Best Case: kam se kam time me chla gya code best case hota hai Ω (Omega) Ω(1) se likhte hai Average Case: Ek average time jisme code chle  Θ(n+1)/2 Worst Case: Worst case ka mtlb kuch bhi ho jaye is time ko ye exceed nhi kregea O(n) Nested Loop me Time Complexity multiply hoti hai aur n^2 banti hai Wahi Do different loops me N+M hoti hai jisme jiski sabse bdi value hai wo big of O me jati hai O(1) - Constant Time: Operations that take a constant amount of time, regardless of the size of the input data. O(log n) - Logarithmic Time: Algorithms that have a logarithmic time complexity, often seen in binary search or certain tree-based algorithms. This is best time Complexity this i...

Find Unique Number in Array Java , XOR

 Question:  WAP to find unique number in Array Java package aRray ; import java . util .*; public class practicalArray { public static void main ( String [] args ) { Scanner scan = new Scanner ( System . in ) ; // Step 1: Input size of the array from the user int size = scan . nextInt () ; // Step 2: Create an integer array of the specified size int [] arr = new int [ size ] ; // Step 3: Initialize 'res' with the first element of the array int res = arr [ 0 ] ; // Step 4: Loop to read array elements and find the unique number for ( int i = 1 ; i < size ; i ++ ) { // Read an integer from the user and store it in the array arr [ i ] = scan . nextInt () ; // Step 5: Use XOR (^) operation to find the unique number res = res ^ arr [ i ] ; } // Step 6: Print the unique number System . out . print...