首页 > 学院 > 开发设计 > 正文

Add Binary

2019-11-15 01:17:38
字体:
来源:转载
供稿:网友
Add BinaryAdd Binary

https://leetcode.com/PRoblems/add-binary/

Given two binary strings, return their sum (also a binary string).For example,a = "11"b = "1"Return "100".

算法

1) 假设aLen表示string a的长度,那么它的第aLen - 1个元素表示的最低位;string b同2) 用一个flag记录来代表进位

代码
public class Solution {    public String addBinary(String a, String b) {        if (a == null || b == null) {            return "";        }        if (a.isEmpty()) {            return b;        }        if (b.isEmpty()) {            return a;        }                int s;        int flag = 0;        StringBuilder sb = new StringBuilder();        int i = a.length() - 1;        int j = b.length() - 1;        do {            if (i >= 0 && j >= 0) {                s = a.charAt(i--) - '0' + b.charAt(j--) - '0' + flag * 1;                            } else if (i >= 0) {                s = a.charAt(i--) - '0' + flag * 1;            } else {                s = b.charAt(j--) - '0' + flag * 1;            }                        flag = s / 2;            sb.append(s % 2);        } while (i >= 0 || j >= 0);                if (1 == flag) {            sb.append(1);        }                return sb.reverse().toString();    }}

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表