Skip to content

Latest commit

 

History

History
67 lines (49 loc) · 1.14 KB

20220105.md

File metadata and controls

67 lines (49 loc) · 1.14 KB

Algorithm

67. Add Binary

Description

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.

Solution

class Solution {
    public String addBinary(String a, String b) {
        StringBuffer sb = new StringBuffer();
        int i = a.length()-1;
        int j = b.length()-1;
        int temp = 0;
        while(i>=0||j>=0){
            int x=0,y=0;
            if(i>=0) x=a.charAt(i--)-'0';
            if(j>=0) y=b.charAt(j--)-'0';
            if(x+y+temp<2){
                sb.append(x+y+temp);
                temp = 0;
            }else{
                sb.append(x+y+temp-2);
                temp =1;
            }
        }
        if(temp!=0){
            sb.append(temp);
        }
        return sb.reverse().toString();
    }
}

Discuss

Review

Tip

Share