Masalalar
Go Algoritm masala

Ikki Sonni Qo'shish

19 August, 2026
Go
package main

// type Node struct {
//     Val  int
//     Next *Node
// }


func (_ Solution) AddTwoNumbers(head1 *Node, head2 *Node) *Node {
  
  var head *Node
  var tail *Node

  current1 := head1
  current2 := head2
  carry := 0

  for current1 != nil || current2 != nil || carry != 0 {
  
    sum := carry
    

    if current1 != nil {
      sum += current1.Val
      current1 = current1.Next
    }
    if current2 != nil {
      sum += current2.Val
      current2 = current2.Next
    }
    newNode := &Node{
      Val: sum % 10,
    }
    carry = sum / 10

    if head == nil {
      head = newNode
      tail = newNode
    } else{
      tail.Next = newNode
      tail = tail.Next
    }

  }
  
  return head
}

Yechim qanday, sodda dastlab carry haqida bilishingizni xoxlar edim buyerda


xop bunday boladi biz mos ravishda Linked List dagi qiymatlarni qoshishimiz kerak va agar ularni qiymat uzunligi bir xil bolmasa orniga 0 qoyib ketamiz va ayan bir shart bor bizda faqat sumda yani qoyiladigan son qoldiq son


misol uchun 23 bolsa qoshilgan sum uni 10 ga bolib qoldiqini yozamiz, va dilga saqlaymiz dilga 2 tushadi u carry keyingi xonaga otadigan son


masalan


[0, 9, 0] va [0,1] berilgan bolsa


mos ravishda qoshamiz => [0, 0, 2] carry bu xolatda 0, 1, 0 boladi

👍 0 ❤️ 0 🔥 0

Izohlar 0

Izoh qoldirish uchun kiring yoki ro'yxatdan o'ting.

Hali izoh yo'q. Birinchi bo'ling!