L4. Reverse a DLL | Multiple Approaches
Vložit
- čas přidán 26. 07. 2024
- Problem Link: tinyurl.com/mw45vuf6
Entire LL Sheet: takeuforward.org/linked-list/...
Check our A2Z DSA Course: takeuforward.org/strivers-a2z...
Please do give us a like, and subscribe to us if you are new to our channel.
Do follow us on our socials: linktr.ee/takeuforward
17:21 "And the interviewer will hire you,no worry" best part🤑🤑🥰🥰
😂
This simple problem is insanely hard to me...thank you Striver!!
instead of using next ad back which is a bit ambiguous you could've used next and previous ( prev ) which will be more understandable
🤓
Loved your dedication sir, completed this ques and loving this series like all others. Top-tier content🔥🔥
this type of great content cannot be found elsewhere , Excellent!!!
Is kunal kushwaha better or this one?
@@hermionegranger7443I think Striver, Kunal is more into Controversies
you are the boss .. please make a playlist about competitive programming.
Great thought of using the stacks!!!!
Thank you for this amazing playlist bhaiya ❤❤
It really helps me to understand in a very easy manner.
Thanks a lot bhaiya.
Thank you sir this amazing lecture 🥰
nice explanation brother, 1 thing I'd like to advice is please use the same variable names while coding which you use while explaining, it would be helpful. Good work and your videos are great!!✌🏻😇 thanks
lecture 4 done,love u bhaiya
Dude your lectures are amazing
great work and thank you !
Thanks Striver!!!
All the video lectures and the articles helped me a lot to gain confidence in DSA and will be helping me in the interviews. Thank you Striver bhaiya for bringing such amazing content for free.
Bro how do u approach DSA, do u first watch videos and then solve it on ur own or how?
initially, i learn first the therory part like methods that are used in this, and i usually watch Striver's playlist of that topic , and learn the patterns of the questions then i go to leetcode and gfg and solve same patterns problems. With the approaches i learned from Striver. That's all. Hope you got this.@@vaibhavvm4147
@@vaibhavvm4147 video dekh le bhai, dimag khol......., phir related ques khud try kar
Understood!!!
Thank You.......
The takeuforward website is not loading .. I'm trying to access the A2Z sheet for the last three days but it is not working.
thank you striver👍👍
thanks bhaiya for your efforts
Understood, thank you.
Thank You Bhaiya.
Understood 😊
Understood✅🔥🔥
Completed!
17:20 , dream come true!!!
nice video
Thanks
i taught of doing same approach. of changing and head and swap its pointers
understood ❤
Understood !!
Understood!
Great
understood!
Understood
Undertood 😌
👍😊
nice
My approach looks something like this:
Publlic class Solution{
public static Node reverseDLL(Node head) {
Node p=null,curr=null,f=head;
while(f!=null){
p = curr;
curr = f;
f=f.next;
curr.next = p;
if(p!=null) p.prev = curr;
}
head = curr;
return head;
}
}
if(head==NULL||head->next==NULL)
return head;
Node* temp = NULL;
Node* curr = head;
while (curr != NULL)
{
curr->prev = curr->next;
curr->next = temp;
temp=curr;
curr = curr->prev;
}
return temp;
understooooooooooooood
🔥🔥🔥
understood
striver is best
Bhaiya 0(1) ma bhi solution hai kya iska ??
👌👌👌👌👌👌👌👌👌👌👌👌
If we point the head to last node, the behaviour would be same as revered doubly Linked list right??? Why do we need to do these processing???
In that case we can't traverse in the forward direction instead we have to go backward to traverse!!
why this code is not working,, its all same just using one extra variable;
Node* reverseDLL(Node* head)
{
if(head==nullptr || head->next==nullptr)return head;
Node * current=head;
Node *back=nullptr;
Node *front=nullptr;
Node *temp=nullptr;
while(current){
back=current->prev;
front=current->next;
temp=back;
back=front;
front=temp;
current=current->prev;
}
return back->prev;
}
why this is correct and
last=curr->prev;
curr->prev=curr->next;
curr->next=last;
this is not working?
last=curr->next;
curr->next=curr->prev;
curr->prev=last;
god
28-06-2024
class Solution
{
public:
Node* reverseDLL(Node * head)
{
if(head == NULL || head->next == NULL)
{
return head;
}
Node* pichli = head;
while(head->next != NULL)
{
pichli = head;
head = head -> next;
}
Node*mover = head;
mover->next = pichli;
mover->prev = NULL;
Node*back = mover;
mover = mover->next;
pichli = pichli->prev;
while(pichli != NULL)
{
mover->prev = back;
mover->next = pichli;
back = mover;
mover = mover->next;
pichli = pichli->prev;
}
mover->next = NULL;
mover->prev = back;
return head;
}
}; this is i ve done but ur one is more intutive and easy also
Understood 🫡
Understood
understood
Understood
Understood
Understood
understood