01 / 205
LeetCode · EasyOson10 ball· ~15 daqiqa

Add Binary

Sizga binar (faqat 0 va 1 dan iborat) satr ko'rinishidagi a va b berilgan. Ularning yig'indisini ham binar satr ko'rinishida qaytaring.

Satrlar bosh nolsiz ("0" dan tashqari) va uzunligi 10⁴ gacha bo'lishi mumkin, shuning uchun ularni oddiy int ga aylantirib bo'lmaydi.

example.go
func solve(a string, b string) string {
    // ...
}

Misollar

kod
Input: a = "11", b = "1"
Output: "100"
Tushuntirish: 11 + 1 = 100 binar sanoq sistemasida.
kod
Input: a = "1010", b = "1011"
Output: "10101"
kod
Input: a = "0", b = "0"
Output: "0"
kod
Input: a = "1111", b = "1111"
Output: "11110"

Maslahatlar

  1. Buni ikkala satrni songa aylantirib qo'shish emas (juda katta bo'lishi mumkin), balki qo'lda binar qo'shish kabi o'ylang — o'ngdan chapga xonalab qo'shish.
  2. Ikkala satrning oxiridan boshlab ikkita ko'rsatkich yuriting, har qadamda mos xonalar va carry'ni qo'shib natijadagi bitni va yangi carry'ni hisoblang, so'ng hosil bo'lgan natijani teskari aylantiring.