我是靠谱客的博主 结实龙猫,最近开发中收集的这篇文章主要介绍Leetcode 67. Add Binary 二进制加法 解题报告1 解题思想2 原题3 AC解,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
1 解题思想
给定以字符串为形式表达的一个二进制数,需要求加法后的值。
这道题是一个弱化版的高精度加法,整体来说和之前做题的方式很类似,注意加法结果可能比原来长一位
2 原题
Given two binary strings, return their sum (also a binary string).
For example,
a = “11”
b = “1”
Return “100”.
3 AC解
public class Solution {
/**
* 处理好边界。。今天这道题写的太晚了。。写的有点潦草,见谅
* **/
public String addBinary(String a, String b) {
char numa[]=a.toCharArray();
char numb[]=b.toCharArray();
int result[]=new int[Math.max(a.length(),b.length())+1];
int i=numa.length-1;
int j=numb.length-1;
int index;
int n1,n2;
int c=0;
while(i>=0 || j>=0){
n1=0;
n2=0;
if(i>=0)
n1=numa[i]-'0';
if(j>=0)
n2=numb[j]-'0';
result[Math.max(i,j)+1]=((n1+n2+c)%2);
c=(n1+n2+c)/2;
i--;
j--;
}
result[0]=c;
if(c==0)
index=1;
else index=0;
StringBuilder sb=new StringBuilder();
for(int k=index;k<result.length;k++){
sb.append(result[k]+"");
}
return sb.toString();
}
}
最后
以上就是结实龙猫为你收集整理的Leetcode 67. Add Binary 二进制加法 解题报告1 解题思想2 原题3 AC解的全部内容,希望文章能够帮你解决Leetcode 67. Add Binary 二进制加法 解题报告1 解题思想2 原题3 AC解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复