67. Add Binary

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 and b consist only of '0' or '1' characters.
  • Each string does not contain leading zeros except for the zero itself.

Rust Solution

struct Solution;

impl Solution {
    fn add_binary(a: String, b: String) -> String {
        let aa = i32::from_str_radix(&a, 2).unwrap_or(0);
        let bb = i32::from_str_radix(&b, 2).unwrap_or(0);
        format!("{:b}", aa + bb)
    }
}

#[test]
fn test() {
    assert_eq!(
        Solution::add_binary("1010".to_string(), "1011".to_string()),
        "10101".to_string()
    );
}

Having problems with this solution? Click here to submit an issue on github.