How To Reverse A Singly Linked List | The Ultimate Explanation (Iteratively & Recursively)

แชร์
ฝัง
  • เผยแพร่เมื่อ 7 ก.ย. 2024
  • Free 5-Day Mini-Course: backtobackswe.com
    Try Our Full Platform: backtobackswe....
    📹 Intuitive Video Explanations
    🏃 Run Code As You Learn
    💾 Save Progress
    ❓New Unseen Questions
    🔎 Get All Solutions
    This is a classic interview problem for 1st and 2nd year interviews. I got this question in my interview for the Explore Microsoft Program.
    Very simple. But we will still do this.
    This is what I call a utility problem. Utility problems don't test your ability to think, they test your ability to do things such as traverse or manipulate data structures in often trivial (but not always) ways.
    The brute force for this is to copy the linked list into a static structure like an array and then create a linked list from that...nah.
    So the 2 ways we will really do it is to move the pointers around
    Way 1 (Iterative):
    For this approach we need to keep track of a prev and curr node. Why? This list is singly-linked so we can't get a node's predecessor, so during the traversal we must remember who came before the node we are at.
    Before doing any of that we save the next node's address since if we move the node we are at's address, we would lose where to go next in the traversal.
    Then finally we set the current node to the next node that we saved at the start of the iteration.
    Complexities:
    Time: O(n)
    Space: O(1)
    Way 2 (Recursive):
    This is "top down" recursion, we start at the top and drill down. Then when we reach the bottom (the base case) we will come back upwards with the answer.
    The recursive code will drill down in recursive calls until we get to the base case.
    The base case gets triggered when the current node has no next, this means we are at the list's end, in that case we just return the node passed into the call.
    Then the node before the last node has itself and the last node to work with.
    We do some pointer movement.
    Last node points to curr.
    curr pointer to null since we don't know if this is the first node in the list.
    first node will end up the last node in the list.
    Then we return the head of the new linked list on the way back upwards.
    The we repeat, what we get from the recursive call is a reversed list, we append our node to that list, and then return back upwards with an even longer reversed list.
    In the top call we say:
    "Reverse the rest of the list"
    "Reverse the rest of the list"
    "Reverse the rest of the list"
    I'm the last node "Here I am 2nd to last node"
    "processing"
    3rd to last gets a reversed list, append
    4th to last gets a reversed list, append
    ......and so on
    Complexities:
    Time: O(n)
    Space: O(n)
    Call stack space used.
    ++++++++++++++++++++++++++++++++++++++++++++++++++
    HackerRank: / @hackerrankofficial
    Tuschar Roy: / tusharroy2525
    GeeksForGeeks: / @geeksforgeeksvideos
    Jarvis Johnson: / vsympathyv
    Success In Tech: / @successintech

ความคิดเห็น • 523

  • @BackToBackSWE
    @BackToBackSWE  5 ปีที่แล้ว +34

    Table of Contents: (This was one of the first videos I made. Audio sucks. Lighting sucks. It is pretty bad. I'm sorry.)
    Intro & Video Setup 0:00 - 0:33
    Problem Introduction 0:33 - 2:00
    Iterative 2:00 - 6:08
    Recursive 6:08 - 9:42
    Recursive (Detailed Walkthrough) 9:42 - 13:26
    Conclusion 13:26 - 13:49
    For the recursive way forgot to stress the line saying "head.next = null", this ensures that you point the last node in the reversed portion (built slowly as we go upwards in the recursion) to null. This is important.

    • @mrknight411
      @mrknight411 5 ปีที่แล้ว +2

      As for the recursive solution, I believe people are confused about head.next.next=head and head.next=null operations because they're not seeing that both rlh and head are referencing the same mutable node objects in heap.
      In stack where head.data is 3:
      rlh is 4
      head is 3->4
      head.next.next=head is 3->4->3->4...
      head.next=null is 4->3, since it removes all "next" obj ref in 3 to 4, leaving intact 4->3
      Since 4 now points to 3 in memory, rlh becomes 4->3
      ** debug the recursive solution in your IDE and place a breakpoint on line head.next=null. You will see that rlh.next is now node 3.
      In stack where head.data is 2:
      rlh is 4->3
      head is 2->3
      head.next.next=head, which is 2->3->2->3...
      head.next=null is 3->2 2
      Now rlh is 4->3->2 2
      And now the main stack:
      rlh is 4->3->2
      head is 1->2
      head.next.next=head is 1->2->1->2...
      head.next=null is 2->1 , since the obj ref from 1 to 2 is removed
      Now rlh is 4->3->2->1 , since 2 now points to 1.
      Recursion is not easy to wrap your head around, especially when dealing with references (or pointers). You did a good job explaining the stack, but you missed the heap :)

    • @sarfarazalam6077
      @sarfarazalam6077 5 ปีที่แล้ว +1

      Yeah, I was also wondering why use "head.next = null". Thank you, for clarifying this! Thanks for the video!

    • @BackToBackSWE
      @BackToBackSWE  4 ปีที่แล้ว

      yo

    • @irfaanjamarussadiq5500
      @irfaanjamarussadiq5500 4 ปีที่แล้ว

      Honestly I didn't really mind audio/lighting quality. But I think you could speak a little slower, because it kind of stresses me out when you speak so fast and it's also harder to understand that way. Beyond that, this was a really nice explanation!

    • @BackToBackSWE
      @BackToBackSWE  4 ปีที่แล้ว

      @@irfaanjamarussadiq5500 old video

  • @5astelija75
    @5astelija75 3 ปีที่แล้ว +204

    I never imagined learning code would be this intense

    • @WildThoughtsAI
      @WildThoughtsAI 2 ปีที่แล้ว +7

      lmao

    • @joshuamarcano350
      @joshuamarcano350 2 ปีที่แล้ว +2

      🤣

    • @Working800
      @Working800 2 ปีที่แล้ว +8

      I like your comment, it is a bitter true a few people discuss lol

  • @anitasingh-jf1ql
    @anitasingh-jf1ql 5 ปีที่แล้ว +156

    This is literally the best explanation of reversing a linked list on youtube!!!

  • @fardin_shaik
    @fardin_shaik 5 ปีที่แล้ว +10

    No one can explain recursive thinking better than you, man. Respect

  • @stinkykyle96
    @stinkykyle96 5 ปีที่แล้ว +75

    You seem so excited to explain the problems, it makes your videos engaging 😁
    But honestly this is some of the best interview prep that I've gotten, especially since I'm a visual learner.

  • @VickyMei
    @VickyMei 5 ปีที่แล้ว +131

    lol I love how you are so enthusiastic about this :D

  • @jiadongyu131
    @jiadongyu131 2 ปีที่แล้ว +10

    I found myself smiling as I watched this video because your passion and enthusiasm really shone through. Great explanation and good work!

  • @didi_10242
    @didi_10242 2 ปีที่แล้ว +6

    I have been preparing interviews for data scientist positions, and the coding part of the job is not too easy for a person without a computer science background. I was struggling in understanding the recursion function for a really long time, and this is the first time I finally understand it intuitively after watching your video. Thank you so much! Your call stack illustration helps a ton!

    • @BackToBackSWE
      @BackToBackSWE  2 ปีที่แล้ว

      Thank you, glad you liked it 😀
      Do check out backtobackswe.com/platform/content
      and please recommend us to your family and friends 😀

  • @cf921
    @cf921 4 ปีที่แล้ว +5

    This guy explains reversing a linked list like playing basketball with all the shoes' sound lol, love your enthusiasm ;)))

  • @sky76570
    @sky76570 5 ปีที่แล้ว +26

    12:58 Hahaha, explanation with synchronized movements is hilarious bro. Respect.

  • @AndrewWheelerJr
    @AndrewWheelerJr 4 ปีที่แล้ว +4

    Kind of makes me miss college. I would also get really excited when I finally understood something and was explaining it to someone. Thank you for helping me understand it.

  • @Sheldor.The.Conqueror
    @Sheldor.The.Conqueror 2 ปีที่แล้ว +1

    You explain recursion like no one in their wildest dreams can even think of !!!!

  • @bn2005
    @bn2005 3 ปีที่แล้ว +2

    thank you for framing this as pointer manipulation instead of "moving nodes" like so many tutorials do

  • @Mines2013
    @Mines2013 4 ปีที่แล้ว +27

    Never seen anyone this excited about reversing a linked list, haha

  • @JakealiciousAndBros
    @JakealiciousAndBros 8 หลายเดือนก่อน

    I’ve been struggling with DSA, but the way you taught this really opened my eyes. I’ll admit, I watched a few parts several times, but I love your energy and will definitely be returning for future problems!

  • @uditgaba1450
    @uditgaba1450 4 ปีที่แล้ว +2

    saw this video for reversing a linked list recursively . Helped me a lot . Thanks man !

  • @joshj8459
    @joshj8459 2 ปีที่แล้ว

    Yea I subscribed. You had me on the edge of my seat the entire video like I'm watching a suspenseful movie.

  • @nicolerussack9800
    @nicolerussack9800 3 ปีที่แล้ว

    Idk how you can be so excited talking about recursion but it's making me excited!!!

  • @rikki146
    @rikki146 2 ปีที่แล้ว

    bruh this is a treasure on youtube. thank you!

  • @taesookim531
    @taesookim531 5 ปีที่แล้ว +94

    Thank you,, NEXT

    • @BackToBackSWE
      @BackToBackSWE  5 ปีที่แล้ว +19

      hahahahahahahahahaha. Best comment on this whole channel. I love you.

  • @maricampbell8240
    @maricampbell8240 4 ปีที่แล้ว +5

    Thank you! The iterative explanation and diagram was so helpful for me. I was able to implement the function without looking at a code example, but from imagining the diagram you created.

  • @zahranajib5528
    @zahranajib5528 4 ปีที่แล้ว +3

    Ahhh please make more videos!!! You are such a lifesaver I swear. Watched your video like 5 times to really understand the concept. Maybe on recursion and more data structures. Also, a suggestion, try to talker slower :)

  • @alhaithamaljabri6126
    @alhaithamaljabri6126 4 ปีที่แล้ว +2

    OMG... Thank you so much for your amazing teaching skills!
    I am happily crying since this finally makes sense to me after all that struggle...

  • @LesAxolotl
    @LesAxolotl 3 ปีที่แล้ว +2

    Hey man, thanks for this video. It's such a simple an elegant solution. I spent the last 12 hours trying to solve it myself (not too smart really) and finally gave up and came here. Your explanation is so clear. Cheers!

    • @aniarablechannel4668
      @aniarablechannel4668 2 ปีที่แล้ว +1

      Just because you couldn’t solve it doesn’t mean you are “not too smart”. It could just be a difference in coding experience. I wouldn’t get down on yourself. You’re already doing great and setting yourself up for success by working hard to get better and watching videos like this!

  • @supamdeepbains5172
    @supamdeepbains5172 ปีที่แล้ว

    my homie always there to help me with data structures

  • @jinhuang7258
    @jinhuang7258 3 ปีที่แล้ว +1

    Explains recursion so well. Thank you.

  • @anthonysoffice9367
    @anthonysoffice9367 4 ปีที่แล้ว +1

    you explanation on recursive method was pretty clear

  • @anmolsharma9539
    @anmolsharma9539 3 ปีที่แล้ว +1

    The time i see that you had made a video on this i know that my doubt is going to get resloved before the video gets over and it happened :)

  • @teensymarie
    @teensymarie 3 ปีที่แล้ว +1

    I can only hope that one day I can explain this with as much excitement and clarity as you do.

  • @pranavbhat92
    @pranavbhat92 6 หลายเดือนก่อน

    The intention & intensity with which you explain is commendable. You deserve more subscribers. I subscribed! 😊

  • @chamnil8666
    @chamnil8666 4 ปีที่แล้ว +2

    Thanks Handy Dandy,now i can reverse a linked list,have a blessed day.

  • @deepeshrathod2044
    @deepeshrathod2044 2 ปีที่แล้ว

    Damn! this is the best video I found. It just cleared all my doubts for reversing a linked list recursively. Thanks for the video.

  • @jake18111996
    @jake18111996 2 ปีที่แล้ว

    every one is asking how he is so enthusiastic but my mannnn took a preworkout and he is getting the pre workout kick!!!!

  • @eg816
    @eg816 2 ปีที่แล้ว +3

    you're so good at explaining!. thanks !!

    • @BackToBackSWE
      @BackToBackSWE  2 ปีที่แล้ว

      Thanks! try out the 5 day free mini course backtobackswe.com/

  • @kanishkarao979
    @kanishkarao979 3 ปีที่แล้ว

    Finally a simple explanation. Thanking God for creating you 😁 😁 😁 😁 😁

  • @roliverma5851
    @roliverma5851 3 ปีที่แล้ว

    Best video on recursion I have ever watched

  • @ashwinvarma9349
    @ashwinvarma9349 3 ปีที่แล้ว +2

    I came here for the recursive method and the explanation was great! keep it up!

  • @spiritualgyanhindi2681
    @spiritualgyanhindi2681 ปีที่แล้ว

    Thnx! Finally, I got this logic of returning back after top to bottom😄

  • @HopingforPower
    @HopingforPower ปีที่แล้ว

    One of the more clear explanations of this god forsaken problem. Thank you

  • @soujanyayprabhakar
    @soujanyayprabhakar 4 ปีที่แล้ว +1

    I watched so many explanations regarding this i could not understand but i got an idea about this by watching your video .
    Kudos !!!

  • @serrasilva7316
    @serrasilva7316 3 ปีที่แล้ว +1

    I love your enthusiasm. It makes it so much more fun to learn.

  • @kevintravelsgram
    @kevintravelsgram 5 ปีที่แล้ว +8

    I thought the recursive way was really confusing so I had to look it up on TH-cam. Really glad I found this video. Amazing explanations!

  • @soradev5386
    @soradev5386 4 ปีที่แล้ว +2

    It took a while to sink in, but thanks for this detailed explanation to the problem. You killed it

  • @firstcomesrock8593
    @firstcomesrock8593 2 ปีที่แล้ว +1

    this is the best explanation of this concept

  • @fantasy9960
    @fantasy9960 2 ปีที่แล้ว

    this is the best explanation for listNode reverse! Really appreciate it !!

  • @raht9578
    @raht9578 3 ปีที่แล้ว +1

    now THAT is how you explain recursion

  • @alpavaidya412
    @alpavaidya412 4 ปีที่แล้ว +1

    If I had a teacher as enthu as u bout teaching I would have been better programmer today...appreciate your efforts

  • @gazalaparveen1254
    @gazalaparveen1254 2 ปีที่แล้ว

    This is literally the best explanation I have come across🙌

    • @BackToBackSWE
      @BackToBackSWE  2 ปีที่แล้ว

      Thank you, glad you liked it 😀
      Do check out backtobackswe.com/platform/content
      and please recommend us to your family and friends 😀

  • @Polarwhite43
    @Polarwhite43 4 ปีที่แล้ว +1

    Best explanation out there
    Thanks man

  • @andywu9774
    @andywu9774 3 ปีที่แล้ว

    This guy is probably the most passionate CS guy in the entire universe!

  • @mase-ob1vf
    @mase-ob1vf 2 ปีที่แล้ว

    Paid for a DSA course on Udemy and ended up have to TH-cam because the explanations were trash. You explained it beautifully and made it incredibly easy to understand. Before finding this video I was dumber than a rock.

  • @acupof_joe
    @acupof_joe 3 ปีที่แล้ว

    dude this guy is awesome i wish he was my professor

  • @TadiwanasheNyamapfene
    @TadiwanasheNyamapfene 2 หลายเดือนก่อน

    Absolutely the best video to explain this. Just took away all my frustration lol!!

  • @ApexPlayground_divine
    @ApexPlayground_divine หลายเดือนก่อน +1

    Bro thanks alot man I final understand this stuff, thanks so much😭

  • @cappuccino2345
    @cappuccino2345 4 ปีที่แล้ว +2

    Thanks buddy, I like your explanation better than other's.

  • @Ryan-xb1ry
    @Ryan-xb1ry 2 ปีที่แล้ว +1

    I finally understand this. Thank you.

    • @BackToBackSWE
      @BackToBackSWE  2 ปีที่แล้ว

      Thank you, glad you liked it 😀
      Do check out backtobackswe.com/platform/content
      and please recommend us to your family and friends 😀

  • @helenashatalova7828
    @helenashatalova7828 ปีที่แล้ว

    Finally, I got it! Thank you so much for your video! Your channel is a hidden jam!

  • @joehaynes7092
    @joehaynes7092 ปีที่แล้ว

    Had to rewind a lot but first video that worked to understand it :)

  • @niharikayerramsetty8582
    @niharikayerramsetty8582 4 ปีที่แล้ว +1

    i have seen many videos but urs is awesome and the best

  • @Roover_sa
    @Roover_sa 4 ปีที่แล้ว +2

    Brother no words for you . i am stuck at temp->next->next but you nailed it with the example "Let me Add myself"
    Lot's of love from india

  • @himanshusarad6491
    @himanshusarad6491 3 ปีที่แล้ว

    tysm man ...you literally nailed it with this explanation .....finally i understood how to do this now.

  • @MaminaZvezdochka
    @MaminaZvezdochka 3 ปีที่แล้ว

    Oh your energy 🔥🔥🔥 I was going to sleep but now I will have a big brain time evening 😆😆😆 thanks so much!

  • @ri7_cars
    @ri7_cars 4 ปีที่แล้ว +3

    Thanks, finally understand the recursive solution. The explanation of call stack really helps.

  • @aleman87
    @aleman87 5 ปีที่แล้ว +3

    Very good explanation. I've watched a few of your videos and all of them so far have been easy to follow and does a good job of explaining the approach.

    • @BackToBackSWE
      @BackToBackSWE  5 ปีที่แล้ว +1

      thanks, welcome to the tribe 🍖

  • @kunalkeshavsinghsahni6861
    @kunalkeshavsinghsahni6861 4 ปีที่แล้ว +2

    Thanks for the beautiful explanation

  • @annawilson3824
    @annawilson3824 9 หลายเดือนก่อน

    10:40 so we have head that points to 3 and new_head(reversedHead) that points to 4.
    Overall, since each time we have a function call with a new/subsequent head, once we start returning, the head is going to be updated for each call in the reversed order once we propagate back/up the stack, but new_head/reversed will stay the same (we set it value once when we reach the depth of the calls) and always points to 4, so we return it at the end of the whole function.

  • @RizaHariati
    @RizaHariati 4 ปีที่แล้ว +1

    WAAAH I FINALLY UNDERSTAND IT BROO!!!

  • @samuel2318
    @samuel2318 2 ปีที่แล้ว

    really love his way to explain this question🤣
    he is so enthusiastic and energetic!

  • @leetsai6220
    @leetsai6220 4 ปีที่แล้ว +1

    Watching your explanation and just the passion that you put into these videos really helped me remember the nuances of this problem.

  • @mingyuetang7041
    @mingyuetang7041 5 ปีที่แล้ว +3

    Great explanation!!! gonna use your videos for interview prep. Many thanks 🙇

  • @prathyyyyy
    @prathyyyyy 2 ปีที่แล้ว

    THE BEST VIDEO ON TH-cam !!!!!!!! IM IN LOVE :)

  • @ExplorerSpace
    @ExplorerSpace 3 ปีที่แล้ว

    omg you are a life savior

  • @anupamdungdung9417
    @anupamdungdung9417 3 ปีที่แล้ว

    Sir the way you give so comprehensive explanation... I love it!

  • @pankajmenaria3230
    @pankajmenaria3230 3 ปีที่แล้ว

    best explanation of reverse singly link list

  • @Max-zf5ot
    @Max-zf5ot 5 ปีที่แล้ว +1

    How can someone thumbs down this video !!! Amazing effort and urge to explain the solution !!!

  • @tarunkolla
    @tarunkolla 5 ปีที่แล้ว +2

    I got the logic by 3:20 you are really dope at this.

  • @iraisvalenzuela6147
    @iraisvalenzuela6147 ปีที่แล้ว

    Thanks for the video! You simplified this so much for me!

  • @mohanm8556
    @mohanm8556 ปีที่แล้ว

    great explanation....I am able to visualize the recursion while you explain

    • @BackToBackSWE
      @BackToBackSWE  ปีที่แล้ว

      Thank you, means a lot 🎉 You can also check out our free DSA course - backtobackswe.com/

  • @bronzebond4869
    @bronzebond4869 3 ปีที่แล้ว

    You do a great job fam. Thousands of us appreciate the help. Thanks again

  • @ArjunKalidas
    @ArjunKalidas 4 ปีที่แล้ว +1

    Wow! Leetcode had only 250 problems when this video was recorded. Now it has crossed the event horizon lol!

    • @BackToBackSWE
      @BackToBackSWE  4 ปีที่แล้ว +2

      No it had 780, I just aimed to do 250 problems that hit core concepts since most of their problems just repeat core ideas.

    • @romanazeem3098
      @romanazeem3098 4 ปีที่แล้ว

      @@BackToBackSWE Hey man. it was the best explanation for the reversal link list. it doesn't take a second try.

    • @ArjunKalidas
      @ArjunKalidas 4 ปีที่แล้ว

      @@BackToBackSWE True, that makes a whole lot of sense.

  • @labgeek1559
    @labgeek1559 4 ปีที่แล้ว +2

    love your videos, keep up the great work.

  • @nuke4496
    @nuke4496 2 ปีที่แล้ว

    took me sometime for me to digest. thank you.

  • @mamoodshaban3119
    @mamoodshaban3119 9 หลายเดือนก่อน

    That was really helpful man. I'm grateful! Keep up with the good work!

    • @BackToBackSWE
      @BackToBackSWE  9 หลายเดือนก่อน

      Happy Holidays 🎉 Thank you for your kind words! We'd love to offer you a 40% Off our exclusive lifetime membership just use the code CHEER40 - backtobackswe.com/checkout?plan=lifetime-legacy&discount_code=CHEER40

  • @indranilchakraborty5930
    @indranilchakraborty5930 4 ปีที่แล้ว +1

    Love from India..🇮🇳🇮🇳

  • @TCErnesto
    @TCErnesto 3 ปีที่แล้ว

    I really liked your explanation on the recursive method bro thanks

  • @annawilson3824
    @annawilson3824 3 ปีที่แล้ว

    Awesome! One thing missing is head.next = null, because that link is not needed anymore.

  • @tienduong7729
    @tienduong7729 2 ปีที่แล้ว

    My man big on energy. Love it!

  • @xingjianwang1894
    @xingjianwang1894 4 ปีที่แล้ว +1

    Explanation is crystal damn clear.

  • @jacktrainer4387
    @jacktrainer4387 2 ปีที่แล้ว +1

    These videos are amazing. You're a phenomenal instructor.

    • @BackToBackSWE
      @BackToBackSWE  2 ปีที่แล้ว +1

      Thanks man! subscribe to my DSA course for some amazing content b2bswe.co/3HhvIlV

  • @Bhavin-Desai
    @Bhavin-Desai 4 ปีที่แล้ว +3

    Best explanation I have seen so far for reversing a singly linked list .

  • @darod6098
    @darod6098 5 ปีที่แล้ว +1

    Subscribed. Keep uploading videos like this everyday and your channel will grow a lot! You rock

    • @BackToBackSWE
      @BackToBackSWE  5 ปีที่แล้ว +1

      Workin' on it. I'm tiring haha

    • @darod6098
      @darod6098 5 ปีที่แล้ว +1

      @@BackToBackSWE Haha you can do it :) Thanks for your efforts!

  • @nimbawest
    @nimbawest 4 ปีที่แล้ว +1

    I finally realize that how it works. Thank you man!

  • @ankurjain8339
    @ankurjain8339 4 ปีที่แล้ว +2

    Such a thorough and simple explanation. Thank you!

  • @yuselina8769
    @yuselina8769 3 ปีที่แล้ว +1

    Really love your illustration! Thank you!!

  • @snake1625b
    @snake1625b 5 ปีที่แล้ว +1

    This is why online learning is so much more Superior to in person lectures. In person it would probably go way over your head. But on TH-cam you can pause and rewind as many times as you want until it clicks

    • @BackToBackSWE
      @BackToBackSWE  5 ปีที่แล้ว

      haha nice, this video is old and not that good

    • @snake1625b
      @snake1625b 5 ปีที่แล้ว

      @@BackToBackSWE it's pretty good. I still find the recursive part a bit confusing though. I know it's common for employers to ask how to reverse it iteratively but do you think it's common for them to ask to do it recursively?

  • @sanghunlee6825
    @sanghunlee6825 ปีที่แล้ว

    Life saver bro
    Thanks for your kind explanation

  • @mhfd9042
    @mhfd9042 3 ปีที่แล้ว

    This guy is something elese 🚀

  • @jbphoto7
    @jbphoto7 3 ปีที่แล้ว

    Finally! A perfect explanation.

  • @fromscratch8774
    @fromscratch8774 4 ปีที่แล้ว +1

    Best Explanation, thank you! I think you have to write the recursive version yourself and draw the nodes to really get it.

  • @abhichakladar5279
    @abhichakladar5279 5 ปีที่แล้ว +2

    Great question and nice video. Simple, easy to understand tutorial with graphics and examples. Thanks!