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

Python Final Lectures

 Q- how to Print Hello World print("Hello World") Variables in python ------- age = 30   #variable should be intutive so that we can learn any time print(age) Note: Shift+Enter is shortcut to run command 2) ' #' this is for writing the comment in python Rules for Variables--- Variable can not be start with any number like - 1age  Number can use in between and end with variable like - age1 age2 Special characters are not allowed expect _ (underscore) like - age_my Space not allowed in variable  Python is case sensitive  Way to define Variable --- age1,age2 = 30,25  age1 = 30 age2 = 25 age1=age2=30   #if 30 age for both variable   >> Data type the type of data is basically data type Integer = age1 to age3 is basically integer   , Integer is basically full number lets check = type(age1)  #it will give u print int float=  basically decimal values Interest =  30.24 type(Interest) #answer is float Message = ...

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>

Python

Indexing--  it will help u to fetch single character  string= "Python" string[2] # slicing process of fetching a sub-string from the given string  #sequence of charater we can fetch means more than 1 character string="Divyanshu" string[2:4+1]   #basically here number is index value #string[start_index:end+index+1] string = "Hunny"   #indexing agr positive hai to left se count hoga #right se negative me string[:]  #it will give u entire string #now If i want to any characterwise index like string is Hunny and I want un only #string[start_index:end_index+1:step] string[1:4:2] #reverse your string #string[:: -1] string="Baba hunny" string[:: -1] # to convert into lowecase string="New Divyanshu" new_string=string.lower()  #new_string becase we've to create another string print(new_string) s1={1,2,3,4,5}    s2={3,2,8,67,85} s3=s1.union(s2) s3   #isme add hota hai whole value lekin common value update nhi hongi #intersection - ...