In this post, we are going to solve the Add Binary Leetcode Solution problem of Leetcode. This Leetcode problem is done in many programming languages like C++, Java, and Python.

Problem
Given two binary strings a
and b
, return their sum as a binary string.
Example 1:
Input: a = "11", b = "1" Output: "100"
Example 2:
Input: a = "1010", b = "1011" Output: "10101"
Constraints:
1 <= a.length, b.length <= 104
a
andb
consist only of'0'
or'1'
characters.- Each string does not contain leading zeros except for the zero itself.
Now, let’s see the leetcode solution of Add Binary Leetcode Solution.
Add Binary Leetcode Solution in Python
class Solution: def addBinary(self, a: str, b: str) -> str: s = [] carry = 0 i = len(a) - 1 j = len(b) - 1 while i >= 0 or j >= 0 or carry: if i >= 0: carry += int(a[i]) i -= 1 if j >= 0: carry += int(b[j]) j -= 1 s.append(str(carry % 2)) carry //= 2 return ''.join(reversed(s))
Add Binary Leetcode Solution in CPP
class Solution { public: string addBinary(string a, string b) { string ans; int carry = 0; int i = a.length() - 1; int j = b.length() - 1; while (i >= 0 || j >= 0 || carry) { if (i >= 0) carry += a[i--] - '0'; if (j >= 0) carry += b[j--] - '0'; ans += carry % 2 + '0'; carry /= 2; } reverse(begin(ans), end(ans)); return ans; } };
Add Binary Leetcode Solution in Java
class Solution { public String addBinary(String a, String b) { StringBuilder sb = new StringBuilder(); int carry = 0; int i = a.length() - 1; int j = b.length() - 1; while (i >= 0 || j >= 0 || carry == 1) { if (i >= 0) carry += a.charAt(i--) - '0'; if (j >= 0) carry += b.charAt(j--) - '0'; sb.append(carry % 2); carry /= 2; } return sb.reverse().toString(); } }
Note: This problem Add Binary is generated by Leetcode but the solution is provided by Chase2learn This tutorial is only for Educational and Learning purposes.
NEXT: Text Justification Leetcode Solution