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) {
int i = a.length()-1;
int j = b.length()-1;
int sum = 0;
StringBuilder sb = new StringBuilder();
while(i>=0 || j>=0){
if(i>=0){
sum = sum + a.charAt(i) - '0';
i--;
}
if(j>=0){
sum = sum + b.charAt(j) - '0';
j--;
}
sb.append(sum%2);
sum = sum/2;
}
if(sum!=0)
sb.append(sum);
return sb.reverse().toString();
}
}
'Algorithms and Data Structures > Coding Practices' 카테고리의 다른 글
LeetCode 45. Jump Game II (0) | 2022.07.08 |
---|---|
LeetCode 189. Rotate Array (0) | 2022.06.18 |
LeetCode 1385. Find the Distance Value Between Two Arrays (0) | 2022.06.10 |
LeetCode 367. Valid Perfect Square (0) | 2022.06.09 |
LeetCode 852. Peak Index in a Mountain Array (0) | 2022.06.08 |