067J. Add Binary
https://leetcode.com/problems/add-binary/
Method: Best
容易题,几乎秒杀 思路从后往前加,最后翻转一下StringBuilder.
class Solution {
public String addBinary(String a, String b) {
int pA = a.length() - 1;
int pB = b.length() - 1;
int carry = 0;
StringBuilder sb = new StringBuilder();
while(pA >= 0 || pB >= 0){
int numA = pA >= 0 ? (int) a.charAt(pA) - '0' : 0;
int numB = pB >= 0 ? (int) b.charAt(pB) - '0' : 0;
int temp = (numA + numB + carry)%2;
carry = (numA + numB + carry)/2;
sb.append(String.valueOf(temp));
pA--;
pB--;
}
if(carry > 0) sb.append(String.valueOf(carry));
return sb.reverse().toString();
}
}
Method Best: Bit Operation
Last updated
Was this helpful?