Thanks! Great Explanation. Just one observation: Recursive calls always consume (stack) space, I think if you replace the merge(self, l1, l2) with iterative version, that would be actually constant space.
Thanks for another great explanation, you always make complex solutions and approaches so easy to understand. Quick heads up, the merge function you defined is recursive, so your space complexity is O(n + m) due to recursive stack frames. The first call to merge does not return until the ends of both l1 and l2 have been reached, so n+m stack frames consume O(n+m) space. To maintain O(1) space complexity, we should iteratively merge the linked lists.
Thanks! Great Explanation.
Just one observation: Recursive calls always consume (stack) space, I think if you replace the merge(self, l1, l2) with iterative version, that would be actually constant space.
Never seen such crisp and simple approach to solve this problem in any other channel. So addicted to problem solving method. Thanks
Thanks for the kind words and welcome to the channel
Thanks for another great explanation, you always make complex solutions and approaches so easy to understand.
Quick heads up, the merge function you defined is recursive, so your space complexity is O(n + m) due to recursive stack frames.
The first call to merge does not return until the ends of both l1 and l2 have been reached, so n+m stack frames consume O(n+m) space.
To maintain O(1) space complexity, we should iteratively merge the linked lists.
Thanks a lot for a clear and concise optimal solution. I love how straight to the point you are!
Thank you for your video, it really helped me understand the problem and the solution for it
Nice video!
It's probably was my first hard problem I managed to solve myself :) 🥳🥳🥳
Amazing! Progress feels great doesn't it?
@@crackfaang it does feel sooooo good! :)