#67
Easy Algorithms Add binary
Math String Bit Manipulation Simulation
57.7% acceptance
Jan 12, 2026
10688
1109
Given two binary strings a and b, return their sum as a binary string.
Solution
Rust
Time O(n)
Space O(1)
impl Solution {
pub fn add_binary(a: String, b: String) -> String {
let a: Vec<char> = a.chars().collect();
let b: Vec<char> = b.chars().collect();
let mut result = String::new();
let mut carry = 0;
let mut i = a.len() as i32 - 1;
let mut j = b.len() as i32 - 1;
while i >= 0 || j >= 0 || carry > 0 {
let mut sum = carry;
if i >= 0 {
sum += a[i as usize].to_digit(10).unwrap();
i -= 1;
}
if j >= 0 {
sum += b[j as usize].to_digit(10).unwrap();
j -= 1;
}
result.push(char::from_digit(sum % 2, 10).unwrap());
carry = sum / 2;
}
result.chars().rev().collect()
}
}