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();
        }
    }
  • 相关阅读:
    javascript学习6
    javascript学习5
    javascript学习4
    javaccript学习3
    javaccript学习2
    javaccript学习1
    C++ 线性表实现
    深入解析策略模式(转)
    CentOS7安装MySQL
    万能媒体播放器 PotPlayer
  • 原文地址:https://www.cnblogs.com/23lalala/p/3506874.html
Copyright © 2011-2022 走看看