zoukankan      html  css  js  c++  java
  • Add Binary

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

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

    public class Solution {
        public String addBinary(String a, String b) {
            int alen = a.length();
            int blen = b.length();
            //表示进位
            int add=0;
            int i;
            StringBuilder result = new StringBuilder();
            for (i=0;i<alen && i<blen;i++) {
                int aIndex = alen-1-i;
                int bIndex = blen-1-i;
                int sum = add+a.charAt(aIndex)-'0'+b.charAt(bIndex)-'0';
                if (sum > 1) {
                    add = sum / 2;
                    sum = sum % 2;
                } else {
                    //这里进位注意要清零
                    add = 0;
                }
                result.append(sum);
            }
            while (i<alen) {
                int sum = add+a.charAt(alen-1-i)-'0';
                if (sum > 1) {
                    add = sum / 2;
                    sum = sum % 2;
                } else {
                    add = 0;
                }
                result.append(sum);
                i++;
            }
            while (i<blen) {
                int sum = add+b.charAt(blen-1-i)-'0';
                if (sum > 1) {
                    add = sum / 2;
                    sum = sum % 2;
                } else {
                    add = 0;
                }
                result.append(sum);
                i++;
            }
            if (add!=0) {
                result.append(add);
            }
            return result.reverse().toString();
        }
    }
  • 相关阅读:
    struts2基础
    hibernate框架基础
    Django的模板层
    HBuilder无法连接夜神模拟器的解决办法
    Django的视图层
    Django的路由层
    Django简介
    http协议
    web应用
    Mongodb之增删改查
  • 原文地址:https://www.cnblogs.com/23lalala/p/3506874.html
Copyright © 2011-2022 走看看