Merge Nodes in Between Zeros - Leetcode 2181 - Python

  Рет қаралды 6,850

NeetCodeIO

NeetCodeIO

Күн бұрын

Пікірлер
@coderunner743
@coderunner743 4 ай бұрын
thanks, sir because of you I got placed in Zoho.
@NeetCodeIO
@NeetCodeIO 4 ай бұрын
Congratulations so happy to hear that :)
@arunmurugan7093
@arunmurugan7093 4 ай бұрын
I just want to say that ever since I started following your youtube channel and videos, I have been having an easier time coming up with solutions to a problem. Everytime before I watch your videos, I try to think of solution(s) and then I come here to see if I was on the right track and I have been doing great! It's great to see myself improve and it has all been because of your videos and my practice! Thank you for these videos and keep it up!
@AJK-a2j00k4
@AJK-a2j00k4 4 ай бұрын
2nd approach is on different level!
@galkk3
@galkk3 4 ай бұрын
my in-place solution: prev = head cur = head.next while cur: temp = 0 prev = prev.next while cur.val != 0: temp += cur.val cur = cur.next cur = cur.next prev.val = temp prev.next = cur return head.next
@สุภชัยเพ็ชธัมรงค์
@สุภชัยเพ็ชธัมรงค์ 4 ай бұрын
Thanks, sir Could you please tell me the toll you use to take notes?
@beinghappy9223
@beinghappy9223 4 ай бұрын
class Solution: def mergeNodes(self, head: Optional[ListNode]) -> Optional[ListNode]: temp = head ans = ListNode(0) dummy = ans curr_sum = 0 while temp: if temp.val == 0: if curr_sum >0: dummy.next = ListNode(curr_sum) dummy = dummy.next curr_sum = 0 else: curr_sum += temp.val temp = temp.next return ans.next
@yang5843
@yang5843 4 ай бұрын
Thanks for uploading I was curious about the in place solution
@nirmalgurjar8181
@nirmalgurjar8181 4 ай бұрын
5:13, we can initialize cur = head.next in the start to avoid first 0 and only update return list when we get node.val == 0 instead checking node.next.val == 0, to reduce complexity and typo and potential bug in the code.
@shwethaks7994
@shwethaks7994 4 ай бұрын
@NeetCodeIO can you make a video on giving tips regarding job search and some websites where we can apply. I think this would be very helpful to many people like me in the middle of a job hunt.
@kaunasmiit246
@kaunasmiit246 4 ай бұрын
I am recursively calling for each 0
@nickleo4308
@nickleo4308 4 ай бұрын
crazy🥵
@zongyu100
@zongyu100 4 ай бұрын
It seems like your in-place solution is still a bit complicated, could have just keep adding node values to the 0s and delete the last 0, since when you reaching right before the last 0, you could delete the last 0 by "if not cur.next.next: cur.next = cur.next.next"
@chien-yuyeh9386
@chien-yuyeh9386 4 ай бұрын
🥳
@maestr3218
@maestr3218 4 ай бұрын
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; } * } */ class Solution { public ListNode mergeNodes(ListNode head) { ListNode ansNode = new ListNode(0); ListNode dummy = ansNode; if(head == null) return null; ListNode flag = head; while(flag != null) { boolean present = false; int sum = 0; ListNode temp = flag; while(temp.val != 0) { present = true; sum += temp.val; temp = temp.next; } if(present = true) { ListNode node = new ListNode(sum); dummy.next = node; dummy = node; } flag = temp.next; } return ansNode.next.; } } can somone help ?? why my ans list is 0->4->11 for the first testcase even when im returning ansnode.next
@tuandino6990
@tuandino6990 4 ай бұрын
I did it without any knowledges regarding linked list, and after reading my code I dont know why it works
@yang5843
@yang5843 4 ай бұрын
My new list solution is simpler, skip the first 0, add a new node when we hit a 0 class Solution { public ListNode mergeNodes(ListNode head) { ListNode rc = new ListNode(); head = head.next; ListNode copy = rc; int cur = 0; while ( head!=null ) { if ( head.val == 0 ) { rc.next = new ListNode(cur); rc = rc.next; cur = 0; } cur += head.val; head = head.next; } return copy.next; } }
@krityaan
@krityaan 4 ай бұрын
Using additional memory (creating a new node) could be viewed as inefficient during an interview. If you can't modify the original linked list, then this is preferred, but the challenge is to optimise time and space complexities
@TheSambitDutta
@TheSambitDutta 4 ай бұрын
Very confusing explanation!! Like if you agree...
@mohanedomer9081
@mohanedomer9081 4 ай бұрын
second comment
@mohammedsuhail.s192
@mohammedsuhail.s192 4 ай бұрын
# Definition for singly-linked list. class ListNode: def __init__(self, val=0, next=None): self.val = val self.next = next class Solution: def mergeNodes(self, head: Optional[ListNode]) -> Optional[ListNode]: li=[] li1=[] while head: li.append(head.val) head=head.next i=0 head=None while i
Making an Algorithm Faster
30:08
NeetCodeIO
Рет қаралды 151 М.
Subarray Sums Divisible by K - Leetcode 974 - Python
16:41
NeetCodeIO
Рет қаралды 18 М.
快乐总是短暂的!😂 #搞笑夫妻 #爱美食爱生活 #搞笑达人
00:14
朱大帅and依美姐
Рет қаралды 13 МЛН
Can You Find Hulk's True Love? Real vs Fake Girlfriend Challenge | Roblox 3D
00:24
The Ultimate Sausage Prank! Watch Their Reactions 😂🌭 #Unexpected
00:17
La La Life Shorts
Рет қаралды 8 МЛН
5 Really Cool Python Functions
19:58
Indently
Рет қаралды 66 М.
Single-Threaded CPU - Priority Queue - Leetcode 1834 - Python
17:20
I Solved 1583 Leetcode Questions  Here's What I Learned
20:37
ThePrimeTime
Рет қаралды 740 М.
Find the Winner of the Circular Game - Leetcode 1823 - Python
18:11
Big-O Notation - For Coding Interviews
20:38
NeetCode
Рет қаралды 518 М.
Why is Python 150X slower than C?
10:45
Mehul - Codedamn
Рет қаралды 18 М.
5 Uncommon Python Features I Love
15:09
Indently
Рет қаралды 165 М.
⚡️NEWS | RUBLE COLLAPSE | STRIKE ON CRIMEA | PUTIN IN KAZAKHSTAN
10:34
Ходорковский LIVE
Рет қаралды 199 М.