Iterative & Recursive - Binary Tree Inorder Traversal - Leetcode 94 - Python

Поділитися
Вставка
  • Опубліковано 26 гру 2024

КОМЕНТАРІ •

  • @jabir5768
    @jabir5768 2 роки тому +50

    Thank you father

  • @MaheshKumar-qq7ts
    @MaheshKumar-qq7ts 2 роки тому +33

    I was searching for this explanation few hours back and here it is. You are doing a great job and I mean literally "great job".

    • @MaheshKumar-qq7ts
      @MaheshKumar-qq7ts 2 роки тому +1

      Also I was worried that since you got job now video would not be that frequent, Please prove us wrong.

  • @thevinarokiarajl2149
    @thevinarokiarajl2149 Рік тому +6

    I am as noobish as they come and I first check for any neetcode vids for a problem I encounter in LC. Ur goated fr

  • @muneebmohd
    @muneebmohd Рік тому +6

    You have literally every single question explained, jesus. Thank you man I love you!

  • @ancai5498
    @ancai5498 Рік тому +7

    I think the core idea to grasp the iterative solution is to understand the recursive solution first,
    Basically, when you do the dfs(node->left), it just keeps finding its leftmost node until it doesn't, then you'll have to pop the stack to 'visit' the node(in-order), then dfs(node->right), it's the time for its right node.
    Hope it helps.

  • @andreytamelo1183
    @andreytamelo1183 2 роки тому +6

    Thanks!

  • @gauravsharma3829
    @gauravsharma3829 2 роки тому +12

    Thanks for explaining so well! It was so clear that I understood in one go.

  • @pruthvinarayana9568
    @pruthvinarayana9568 3 місяці тому +1

    I love the way he explains Easy problems indetailed keping in mind of beginners 💖

  • @HiHi-xl9kn
    @HiHi-xl9kn 2 роки тому +10

    Glad to see i'm not the only one that always mistakenly append the node to res lol. Could you share what you use to write/draw? ipad? tablet? touch screen?

  • @mr.mrs.gutierrez4975
    @mr.mrs.gutierrez4975 2 роки тому +4

    Why I need to define private function “inorder”? Why I cannot directly recur self.inordertraversal(root.left) and self.inorderyraversal(root.right)?

  • @trbhlk
    @trbhlk 7 місяців тому

    You should add the call stack explanation to your recursion section from the DS & Algos course. This was insanely helpful to understand recursion.

  • @Marcox385
    @Marcox385 2 роки тому +13

    Totally off-topic but how you got so good at drawing instructions? Lately I've been giving tutoring and I took inspiration from you (yet again) and used paint 3d for online sessions, the thing is that I always take too long to write/draw stuff that doesn't even looks that good. So, is it just practice or you have a distinct device other than a mouse?

    • @olalekansogunle
      @olalekansogunle 2 роки тому +1

      @NeetCode I have this exact question. Please help if you are able to get to answering

    • @rikpatel
      @rikpatel 2 роки тому +3

      He has responded to this before in another video. He uses Paint 3D and mouse. I guess its just practice. You can alternatively use Drawing pad

    • @halahmilksheikh
      @halahmilksheikh 2 роки тому +2

      @@rikpatel He uses a mouse??? That's crazy. He writes like he uses a stylus.

    • @St0n3dCold
      @St0n3dCold 2 роки тому +1

      just use a stylus

    • @Marcox385
      @Marcox385 2 роки тому +3

      @@St0n3dCold lmao yeah why I didn't thought that? Let me also convert my display into a touchscreen. Better yet, let me get an expensive graphic tablet for something that isn't my profession, that way I could use an stylus, or several, to enhance the tutoring experience

  • @AparnaBushan
    @AparnaBushan Рік тому +1

    I guess instead of inner while Ioop, we could simply use if condition , am I right ?
    def inorder(root):
    curr, stack = root, []
    res = []
    while curr or stack:
    if curr:
    stack.append(curr)
    curr = curr.left
    else:
    curr = stack.pop()
    res.append(curr)
    curr = curr.right
    return res

  • @cewenchi
    @cewenchi 7 місяців тому +1

    Only moment that i realized the importance of the tree structure with a stack is preparing jobs interview ...

  • @Goodday-nm7zp
    @Goodday-nm7zp Рік тому

    this channel has helped me so much, thank you!

  • @firstacc5442
    @firstacc5442 Рік тому +2

    can you please explain Morris Traversal algorithm, please.

  • @quirkyquester
    @quirkyquester 7 місяців тому

    best video brother! love this!

  • @servantofthelord8147
    @servantofthelord8147 6 місяців тому +2

    The iterative code is hard for me to wrap my head around, but I'll keep revisiting it. For anyone in the same boat, I found this code on GeeksforGeeks and it helped me to understand it even more:
    cur = root
    stack = []
    res = []
    while True:
    if cur:
    stack.append(cur)
    cur = cur.left
    elif stack:
    cur = stack.pop()
    res.append(cur.val)
    cur = cur.right
    else:
    return res

    • @Baraa_Sy_99
      @Baraa_Sy_99 6 місяців тому +1

      Thanks man, that was really helpful 🌷

    • @servantofthelord8147
      @servantofthelord8147 6 місяців тому +1

      @@Baraa_Sy_99 Glad it helped you!

  • @bossmusa9075
    @bossmusa9075 Рік тому

    thank you after your explanation i can do it on my own, the description was afwul

  • @amitp277
    @amitp277 2 роки тому +2

    great explanation thanks!

  • @ganeshbirajdar4382
    @ganeshbirajdar4382 2 роки тому +3

    Thanks, very helpful 👍

  • @richardmunyao4607
    @richardmunyao4607 2 роки тому +1

    Thanks so much! This helped a bunch!

  • @lucy2003-d8p
    @lucy2003-d8p Рік тому +1

    heyyy brooo thanks alot❤

  • @pawelkorsunskiy9660
    @pawelkorsunskiy9660 2 роки тому

    You are a great teacher!

  • @vdyb745
    @vdyb745 2 роки тому +1

    I can't thank you enough for your videos !!!

  • @arjunhamdalah4139
    @arjunhamdalah4139 2 роки тому +1

    Do you have basic cs leetcode Playlist? Thanks

  • @gunahawk6893
    @gunahawk6893 2 роки тому

    dude best explanation

  • @akira_asahi
    @akira_asahi 2 роки тому

    Thank you for the video. I am grateful for your time and contribution. Kind regards, Akira.

  • @lingyuhu4623
    @lingyuhu4623 2 роки тому

    Hope to have your video of 145. Binary Tree Postorder Traversal

  • @Chestuhr
    @Chestuhr 4 місяці тому

    Recursive took like 2 minutes but for some odd reason the iterative solution was trickier than medium graph problems

  • @yogeshmishra1726
    @yogeshmishra1726 2 роки тому

    Do we need to know about iterative method if we know recursive one

  • @tanyashankar9966
    @tanyashankar9966 Рік тому

    May I know why only stack is considered hare ??

  • @dreamphoenix
    @dreamphoenix Рік тому

    This is fantastic, thank you.

  • @trenaesthetics2139
    @trenaesthetics2139 Рік тому

    Bro I love u thanks man

  • @ag4-z4z
    @ag4-z4z 11 місяців тому

    Thank you.

  • @anonymoussloth6687
    @anonymoussloth6687 2 роки тому

    Please do shortest path visiting all nodes on leetcode. It's a hard problem.

  • @RelaxationVideos99
    @RelaxationVideos99 2 роки тому

    Awesome Thanks!

  • @codemarshal655
    @codemarshal655 Рік тому +1

    Did you know, you can do iterative in / pre / post order traversals using same code??
    Checkout how I did it in just 20 lines, in my new video
    ua-cam.com/video/6wxNc8gCj8E/v-deo.html

  • @nhbknhb
    @nhbknhb 2 роки тому

    Any vlogs coming?

  • @leetcode650
    @leetcode650 Рік тому

    why are we appending the node to stack instead of just appending the values.

  • @ziiiiiiiiiii7325
    @ziiiiiiiiiii7325 Рік тому +2

    can somebody help me out here:
    def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
    result = []
    stack = []
    cur = root
    while cur or stack:
    while cur:
    stack.append(cur)

    • @NaveenKumar-xq6ce
      @NaveenKumar-xq6ce Рік тому +1

      Because a node is a object of class TreeNode. Makes sense to store in stack cause it stores other things like functions and stuff. But we need to store values in array

  • @kaikim8402
    @kaikim8402 2 роки тому +3

    Is it Okay if u are solving this problem for the first time and ended up looking at the solution like this?
    I feel guilty seeing the solution that i will be looking for solution every time i encounter problems that i can't solve.
    Any advice?

    • @erinwolf1563
      @erinwolf1563 Рік тому +3

      I'm currently in the same shoes as u right now.. but based on my research I think it's okay.. don't feel guilty

    • @antoinenijhuis450
      @antoinenijhuis450 11 місяців тому

      Where are you at in your programming/comp science journey? @@erinwolf1563 @kaikim8402

  • @andreypopov6166
    @andreypopov6166 9 місяців тому

    easy :) easy to remember...

  • @nitrozeus5458
    @nitrozeus5458 Рік тому

    Yer a wizard, Harry

  • @Cubeone11
    @Cubeone11 3 місяці тому

    I understood what is happening but its very hard for me to understand why thats happening

  • @poptart007-b2r
    @poptart007-b2r 2 роки тому

    I don't think the link you put in the description is the right one :p nice video btw

    • @vdyb745
      @vdyb745 2 роки тому

      True leads to 108 instead of 94

    • @NeetCode
      @NeetCode  2 роки тому +3

      fixed!

  • @bufdud4
    @bufdud4 Рік тому +7

    This iterative solution is pretty unintuitive.

    • @СтасюкАндрій
      @СтасюкАндрій Рік тому +5

      yea i solved this problem iteratively with a hint of stack usage and it took me almost 5 hours.... my self-esteem is low now lol

    • @antoinenijhuis450
      @antoinenijhuis450 11 місяців тому

      Where are you at in your programming/comp science journey tho? @@СтасюкАндрій

  • @masternobody1896
    @masternobody1896 2 роки тому

    Nice

  • @tsunningwah3471
    @tsunningwah3471 8 місяців тому

    zhina

  • @tsunningwah3471
    @tsunningwah3471 8 місяців тому

    zhin

  • @tsunningwah3471
    @tsunningwah3471 8 місяців тому

    b

  • @trbhlk
    @trbhlk 7 місяців тому

    You should add the call stack explanation to the recursion section in your DS & Algos course. This was insanely helpful to understand recursion and draw a connection to stacks. Thank you.

  • @LilJollyJoker
    @LilJollyJoker 8 місяців тому +1

    Thank You!