Add two numbers represented by linked lists

Sdílet
Vložit
  • čas přidán 7. 03. 2017
  • Add two numbers represented by linked List. ll steps to program/code.

Komentáře • 80

  • @agraa
    @agraa Před 4 lety +42

    While adding when you are creating new linked list, just add the new node in the begining not in the end, so in that case you dont need to reverse it again. btw this question was asked to me in amazon interview.

  • @spardha-yug
    @spardha-yug Před rokem

    khup chhan bhava.
    Ekdam sopya bhashet ani chhan explain kelas.

  • @Official-tk3nc
    @Official-tk3nc Před 4 lety +64

    if you are watching this in lockdown believe me you are one of the rare species on the earth who is working hard to achieve something in life. Many students are wasting their time watching movies, playing pubg, watching netflix , etc, ALL THE BEST nitjstudenthere

  • @sanjayjoshi8807
    @sanjayjoshi8807 Před 3 lety +9

    optimizations could be done like no need to calculate length and difference to add zeroes we can reduce that step

  • @ashermanangan
    @ashermanangan Před 4 lety +3

    What a great explanation. Thanks for this one, I now have a glimpse on what I should do on this Machine Problem

  • @brinderdhaliwal3570
    @brinderdhaliwal3570 Před 7 lety +3

    my friend, very good examples. You are really helping me for my interview preparation that is coming up.

  • @aryambham1006
    @aryambham1006 Před 5 lety +1

    Can't thank you enough for the detailed explanations

  • @saicharan8675
    @saicharan8675 Před 5 lety

    Sir beautifully done... Thank for the lecture

  • @19osnaldito
    @19osnaldito Před 6 lety +2

    You just saved my life. Thanks. Excellent video!!!! #handsdown

  • @anirudhsharma8608
    @anirudhsharma8608 Před 3 lety

    You are probably the best teacher on planet earth! Thank you so much for this !!!!!!

  • @prnk139
    @prnk139 Před 2 lety

    Good ! Great Way of explaination!

  • @narayananrenganathan765

    @Vivekanand Khyade your videos are very helpful for us. Thanks a lot !!

  • @Techjai000
    @Techjai000 Před 3 lety

    you are amazing sir nice video

  • @faz_1337
    @faz_1337 Před 3 lety

    Great video, you explained it slowly and clearly.

  • @smayengbam
    @smayengbam Před 5 lety +1

    Thanks Vivek for another awesome video!

  • @samrat4141
    @samrat4141 Před 7 měsíci

    Super explanation

  • @letsexplorewith_jaggu98
    @letsexplorewith_jaggu98 Před 3 lety +1

    Thank you so much sir : ) you are really helping us in a great way

  • @100_bindusai8
    @100_bindusai8 Před 3 lety

    Great explanation sir🙂😊😊

  • @salonirathi1158
    @salonirathi1158 Před 6 lety +1

    Thank you Sir:)

  • @sauravbhagat4737
    @sauravbhagat4737 Před 5 lety +3

    sir, we can do same without finding length and inserting zero ? As we are reversing already, we will just put check if(p->next!=NULL) //then do this. btw very smothly explained.

  • @RohitPal-sc3um
    @RohitPal-sc3um Před 3 lety

    Nice sir You are doing well

  • @brinderdhaliwal3570
    @brinderdhaliwal3570 Před 7 lety +1

    also, this means that at the end..you are returning a linked list..correct?

  • @anujjain1456
    @anujjain1456 Před 3 lety

    sir plz also analyse time complexity of solution
    that's makes ur lectures unbeatable
    thanks sir for superb content

  • @shibanidas1479
    @shibanidas1479 Před 6 lety

    sir, if i want to multiply two numbers from diff linked lists and store the output no in a different. how can i do it?? can u just show it?? thank you .

  • @anilnkhsatriya9047
    @anilnkhsatriya9047 Před 5 lety

    i think its more efficient by using double linked list. anyway good explanation tqu.

  • @ASHISHSHARMA-eg6oi
    @ASHISHSHARMA-eg6oi Před 7 lety

    nice sir...Come up with more problems like from codechef and hacker-rank .Thanks in advance:)

  • @vincentmanlesis8698
    @vincentmanlesis8698 Před 4 lety

    What if you input two digit number. It is needed to separate it right? Example : 10 11 12 13

  • @raushanraj227
    @raushanraj227 Před 2 lety

    well explained

  • @gv6980
    @gv6980 Před 6 lety +1

    Your videos are awesome.
    Can I get code in C++?

  • @sharjeeltahir5583
    @sharjeeltahir5583 Před 4 lety +1

    Remainder of 8/10 is not zero, but 8. 10 goes into 8 zero times, hence the remainder is 8.

  • @ShreyaSingh-vr9qi
    @ShreyaSingh-vr9qi Před 4 lety +1

    Can we modify one of original linked list to store the current both list nodes sum in one of existing linked list. It will reduce space complexity ??

    • @yatinarora1252
      @yatinarora1252 Před 3 lety +1

      I thought so as I will add the sum in linked list. and then done its reversed trversal...Actually I was able to do that but some sort of overflow was there in my algo

  • @SagarSharma-ej3ds
    @SagarSharma-ej3ds Před 4 lety +1

    How to subtract two linked list Sir ?
    If possible please give the git code.

  • @ChipsAhoy2022
    @ChipsAhoy2022 Před 6 lety

    This is required to be done without reversing the lists. Otherwise the solution is trivial and is definitely not what the interviewer expects. Can you please explain how to do the same.

  • @s.l5787
    @s.l5787 Před 6 lety +1

    This is a technical detail but the remainder between 8 divided by 10 is actually 8, not 0. So in the cases where the carry is 0, it just means the addition variable and the remainder variable will be equal.
    e.g 8%10 yields 8 .

  • @adityagupta-lw1nt
    @adityagupta-lw1nt Před 3 lety +2

    how to solve this question without reversing the linked list

  • @AshishShukla-ro8oy
    @AshishShukla-ro8oy Před 5 lety +2

    can't we do it without reversing???

  • @myaseen7419
    @myaseen7419 Před 4 lety

    great explanation sir. i want code please.

  • @sayantaniguha8519
    @sayantaniguha8519 Před 3 lety +1

    Plz make video for *Large number Arithmetic* using DLL.

  • @chitraanandh6499
    @chitraanandh6499 Před 6 lety

    sir, can you please make an explanatory video for polynomial addition using linked list?

  • @VivekKumar-zo7kr
    @VivekKumar-zo7kr Před 4 lety

    Can please anyone help me...
    I have one another method...
    Instead of naming a variable carry... We can increase the p->next data by 1... And for corner cases if p->next ==NULL
    then just add the last digits..
    Can we do so na?

  • @trishulsherigar1961
    @trishulsherigar1961 Před 4 lety

    This problem has a recursive solution right?

  • @kranthiraj667
    @kranthiraj667 Před 4 lety

    In either case reminder can go into new node. 5%10 = 5 not 0

  • @ghoshdipan
    @ghoshdipan Před 3 lety

    Sir please show the full workinh of code also then it would be of much help.

  • @swacharahman5084
    @swacharahman5084 Před 4 lety

    Why Don't you provide the code link in the description..😐 please do it

  • @soumyamothe2981
    @soumyamothe2981 Před 5 lety

    Sir I need infix and postfix program by using stack

    • @quadirnawaz67
      @quadirnawaz67 Před 5 lety

      Search it on "My code school data structure playlist" You'' find them.

  • @mathewwade4679
    @mathewwade4679 Před 4 lety

    Another approach:
    This will take a bit more space(2 extra strings) compared to what sir discussed but it will also save a lot of computations. But note that space complexity still remains O(N) in both approaches.
    So first create 2 empty strings - str1 & str2
    Traverse the first linked list. At each node append it to our string. Convert this string to an integer - firstNum
    Similarly traverse second linked list and get - secondNum
    Add both of them: result = firstNum + secondNum
    Convert result to a string now
    For each character in result string:
    add it to a new node at insert at the end of our new Linked List.
    Return the new Linked List.

  • @harshalgarg1149
    @harshalgarg1149 Před 4 lety

    Sir, your github link is not working.
    Please help.

  • @deepak1725
    @deepak1725 Před 6 lety +1

    Whenever i hear .. Hello Frands, I complete it by.. "Chai pee lo".

  • @ashiqhussainkumar1391
    @ashiqhussainkumar1391 Před 3 lety

    I've a simple approach :
    Adding K lists in general.
    1.Reverse list 1, list 2,....list k;//as many lists u want to add.
    2. Initialize sum1=0,.... sumk=0;
    3.initialize a = 1;//used in addition.
    4. temp1 = head1;
    while (temp1) {
    sum1 += temp1.data *a;
    a=a*10;
    temp1 = temp1.next ;
    }
    5.Reinitialize a = 1;
    Repeat process for other K-1 lists.
    6.return sum1 + sum2+... sumk;

  • @bhuvanchandmaddi800
    @bhuvanchandmaddi800 Před 6 lety

    github.com/vivekanand44/codes-CZcams-videos/blob/master/add_two_numbers_linked_list.cpp
    sir in your above code on git hub,there is some change(second if condition n1-n2) i think so because it gives wrong output when size of second list is greater than first and according to your code there is no need of appending zero infront of list after reversing..concept was super thank you sir..i have been following your lectures and your are the best

    • @nands4410
      @nands4410 Před 6 lety +1

      if (n1 > n2)
      {
      diff = n2 - n1;
      flag = 1;
      }
      He made a mistake here.
      diff = n1-n2; is correct

  • @libalalolaq9951
    @libalalolaq9951 Před 7 lety

    how to solver this question whihout reversing?

  • @DhruvilPatel
    @DhruvilPatel Před 4 lety

    Your program took more time than expected. This is coming in GFG please HELP

    • @mohamedmusaraf675
      @mohamedmusaraf675 Před 4 lety +2

      don't make zero values as a node
      Node* addTwoLists(Node* first1, Node* second1) {
      Node* res = NULL;
      Node *temp, *prev = NULL;
      int carry = 0, sum;
      while (first1 != NULL || second1 != NULL)
      {
      sum = carry + (first1? first1->data: 0) +
      (second1? second1->data: 0); //if the data is null then make the value as zero bro!!!1
      carry = (sum >= 10)? 1 : 0;
      sum = sum % 10;
      temp = newNode(sum);
      if(res == NULL)
      res = temp;
      else
      prev->next = temp;
      prev = temp;
      if (first1) first1 = first1->next;
      if (second1) second1 = second1->next;
      }
      if (carry > 0)
      temp->next = newNode(carry);
      return res;
      }
      i too solved today bro!

  • @smritikaushik7529
    @smritikaushik7529 Před 4 lety

    Pls provide the complete code

  • @lelehehe
    @lelehehe Před 4 lety

    it is mod, not divide by 10.

  • @vikashsharma5844
    @vikashsharma5844 Před rokem

    Code wode yahi dala karo yrr...Ab github par jaao ID banao ...dhundo kaha hai kaun saa hai ...

  • @farhanjamal1376
    @farhanjamal1376 Před 5 lety

    do it on the computer.........what is this

  • @IamShivaniPandit
    @IamShivaniPandit Před 7 lety +1

    Too slow. Speak fast and make short videos.

    • @deepikatadakhe
      @deepikatadakhe Před 7 lety +2

      you can increase the speed of the video to your convenience

    • @GauravSharma-wb9se
      @GauravSharma-wb9se Před 7 lety +3

      Everyone is not fast like you so its good for them

    • @bipros7
      @bipros7 Před 6 lety +2

      yeah man!!! I've increased the speed to 1.5x...still the speed seems like normal