67. Add Binary

    xiaoxiao2021-03-25  107

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

    For example, a = "11" b = "1"

    Return "100".

    问题:二进制字符串相加

    思想:从末尾开始相加,注意使用StringBuffer而不要用String占用常量池空间

    if(b==null) return a; if(a==null) return b; int carry=0; int curVal=0; int i=a.length()-1; int j=b.length()-1; StringBuffer sb=new StringBuffer(); String output; while(i>=0||j>=0){ int aVal=i>=0?(a.charAt(i)-'0'):0; int bVal=j>=0?(b.charAt(j)-'0'):0; curVal=(aVal+bVal+carry)%2; sb.insert(0, curVal); carry=(aVal+bVal+carry)/2; i--;j--; } if(carry==1){ sb.insert(0, 1); } return sb.toString();

    转载请注明原文地址: https://ju.6miu.com/read-19759.html

    最新回复(0)