leetCode->Add Binary

来源:互联网 发布:知乎 被离职 编辑:程序博客网 时间:2024/06/05 15:13

<span style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;">每天一刷,强迫学习</span>

Given two binary strings, return their sum (also a binary string).

For example,
a = "11"
b = "1"
Return "100".

这道题乍看很简单,将输入的二进制字符串转换为int(利用parseInt(String s, int radix) ),计算结果后结果用Integer.toBinaryString(int)转换为二进制字符串即可。提交时测试用例不通过,原因是Integer只能表示32位的数字,此时查找Java有BigInteger类。

总结:

1、注意输入输出边界;

2、java中BigInteger类可以表示大整数。其中构造函数支持多种进制的字符串。


import java.math.BigInteger;public class Solution {public String addBinary(String a, String b) {BigInteger aValue = new BigInteger(a, 2);BigInteger bValue = new BigInteger(b, 2);BigInteger sum = new BigInteger("0", 2);sum = aValue.add(bValue);return sum.toString(2);}}


0 0
原创粉丝点击