Add binary
Ikkita a
va b
ikkilik satrlar berilgan bo'lsa, ularning yig'indisini ikkilik qator sifatida qaytaring.
Example 1:
Input: a = "11", b = "1"
Output: "100"
Example 2:
Input: a = "1010", b = "1011"
Output: "10101"
Cheklovlar:
1 <= a.length, b.length <= 104
a va b faqat "0" yoki "1" belgilardan iborat.
Har bir satrda noldan tashqari bosh nollar mavjud emas.
func addBinary(a string, b string) string {
str := ""
var carry int8 = 0
for i, j := len(a), len(b); i >= 1 || j >= 1; {
i--
j--
var digitA, digitB int8
if i >= 0 {
digitA = int8(a[i] - '0')
}
if j >= 0 {
digitB = int8(b[j] - '0')
}
total := carry + digitA + digitB
c := fmt.Sprintf("%d", total%2)
str = c + str
carry = total / 2
}
if carry > 0 {
str = "1" + str
}
return str
}
© Leetcode link
Last updated
Was this helpful?