leetcode add binary
来源:互联网 发布:td lte网络架构 编辑:程序博客网 时间:2024/05/29 02:03
public String addBinary(String a, String b) { // char resi = '0'; int lena = a.length(); int lenb = b.length(); int len = (lena > lenb ? lena : lenb) - 1; int idxa = lena - 1, idxb = lenb - 1; String ans = ""; while(idxa >= 0 || idxb >= 0) { char ac = '0', bc = '0'; if(idxa >= 0) ac = a.charAt(idxa--); if(idxb >= 0) bc = b.charAt(idxb--); int digSum = (resi - '0') + (ac - '0') + (bc - '0'); if(digSum == 3) { ans = "1" + ans; resi = '1'; } else if(digSum == 2) { ans = "0" + ans; resi = '1'; } else if(digSum == 1) { ans = '1' + ans; resi = '0'; } else if(digSum == 0) { ans = '0' + ans; resi = '0'; } } if(resi == '1') return "1" + ans; return ans; }