Skip to main content

Delete Node Iterative

Here I'm using Iterative for delete a Node

Time Complexity of this approach will be : O(N);

Another Approach is Recursively



import java.sql.SQLOutput;
import java.util.Scanner;

public class removeElement {

public static void print(Node<Integer> head){
System.out.print("New Node:");
while(head != null){

System.out.print( head.data + " ");
head = head.next;

}
}
public static Node<Integer> removeElement(Node<Integer> head, int pos) {


if (head == null) {
return head;
}
if (pos == 0) { //agar position hi zero hai jisko remove krna hai to aage badha do
head = head.next;
}

Node<Integer> tempNode = head;

int count = 0;

while (count < pos - 1 && tempNode != null) {
tempNode = tempNode.next;
count++;
}
// pos
// 1 2 3 4 5
// Temp
// count
//first iteration me pos ke 1 kam tak chlna hai , kya count pos se 1 chota hai
// yes count filhal 0 me hai to ek bar aage kar do aur temp ko bhi 1 aage bdha do
/* pos
//1 2 3 4 5
// count
temp
>> abhi dubara check karega kya count chota hai pos-1 se bilkul condition
true ho rhi to ek bar aur aage bdhega
pos
//1 2 3 4 5
// count
temp
is iteration me count and temp pos tak phuch jayenge lekin jaise hi wha phucha loop break ho
jayega aur count and temp 2 element me hi aa jayenge aur loop se bahar ho jayega


*/

if (tempNode != null && tempNode.next != null) {
tempNode.next = tempNode.next.next;
}
return head;

/* pos
// //1 2 3 4 5
// // count
temp

ab yaha condition check karega kya tempNode aur tempNode ka next null hai ?

nhi hai to temp ke next me temp ke next ka next connect kar do

// //1 2 4 5
// // count
temp
kuch is trh temp ho jayega aur pos hamara delete ho jayega


*/

}

public static Node<Integer> takeInput() {

Scanner scan = new Scanner(System.in);
System.out.println("Enter Node:");
Node<Integer> head = null;
Node<Integer> tail = null;

int data = 0;

while (data != -1) {
data = scan.nextInt();
Node<Integer> newData = new Node<Integer>(data);

if (head == null) {
head = newData;
tail = newData;
} else {
tail.next = newData;
tail = newData;
}
}return head;
}


public static void main(String[] args) {

Node<Integer> head = takeInput();
removeElement(head,4);
print(head);

}
}






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

Add CSS using external CSS

>>> U just need to create a another page and save it with the name style.css >>> and then go to link that style page with your html docs how to link your css with html page ? >>> You can find code below , it will help you to link your external page with your html docs <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Divyanshu Khare || MERN Developer</title> <meta description = "description" content="Divyanshu Khare's website"> <link rel="stylesheet" type="text/css" href="style.css">   <!----------link external css page ---------> </head> <body> </body> </html>

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...