LeetCode-Add Binary

来源:互联网 发布:大数据产业园规划 编辑:程序博客网 时间:2024/06/05 10:55

首先把两个string对齐 用0填充前面

然后从后面开始每一位相加 记录得数和进位 将得数插入stringbuilder

注意char和int之间的转换 要 +'0'  -'0' 这样就是 ‘1’变成1 否则直接用 ( int )  的方法转换的话就会得到ascii 

public class Solution {    public String addBinary(String a, String b) {        int bit = 1;        int lenA = a.length();        int lenB = b.length();        StringBuilder sb = new StringBuilder ();        int carry = 0;        int sum = 0;        while ( bit <= lenA || bit <= lenB ){            if ( bit <= lenA && bit <= lenB ){                sum = a.charAt ( lenA - bit)-'0' + b.charAt(lenB-bit) -'0' + carry;            }            else if ( bit > lenA ){                sum = b.charAt(lenB-bit) -'0' + carry;            }            else                sum = a.charAt ( lenA - bit) -'0'+ carry;            carry = sum / 2;            int res = sum % 2;            sb.insert( 0, (char)res );            bit ++;        }        return sb.toString();    }}


0 0
原创粉丝点击