最近几天在领扣(https://leetcode-cn.com)刷题...以此记录
水平不够,从简单的做起。
67. 二进制求和
给定两个二进制字符串,返回他们的和(用二进制表示)。
输入为非空字符串且只包含数字 1
和 0
。
class Solution {
public String addBinary(String a, String b) {
char[] aArray = a.toCharArray();
char[] bArray = b.toCharArray();
if(aArray.length>=bArray.length){
return addBinary(aArray,bArray);
}
return addBinary(bArray,aArray);
}
/** 长数组+短数组*/
public String addBinary(char[] aArray,char[] bArray){
//初始化进位标志
int target = 0;
//a数组的起始位
int initIndex = aArray.length-bArray.length;
for(int i = bArray.length-1;i>=0;i--){
//两数组、进位标志相加得到的字符