zoukankan      html  css  js  c++  java
  • [leedcode 67] 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) {
            //时间复杂度O(n)。空间复杂度O(1)
            //注意:1.心细,注意循环的写法,简化的方式如非注释代码所示,即使一个遍历完,仍然可以继续相加
            //2.注意最后一个进位的处理
            //3.注意向stringBuilder头部添加字符的方法
            StringBuilder seq=new StringBuilder();
            int carry=0;
            int i=a.length()-1;
            int j=b.length()-1;
           /* for(;j>=0&&i>=0;i--,j--){
                int a1=a.charAt(i)-'0';
                int b1=b.charAt(j)-'0';
                int temp=a1+b1+carry;
                seq.insert(0,temp%2);
                carry=temp/2;
            }
            while(i>=0){
                int temp=a.charAt(i)-'0'+carry;
                seq.insert(0,temp%2);
                carry=temp/2;
                i--;
            }
            while(j>=0){
                int temp=b.charAt(j)-'0'+carry;
                seq.insert(0,temp%2);
                carry=temp/2;
                j--;
            }*/
            for(;j>=0||i>=0;i--,j--){
                int a1=i>=0?a.charAt(i)-'0':0;
                int b1=j>=0?b.charAt(j)-'0':0;
                int temp=a1+b1+carry;
                seq.insert(0,temp%2);
                carry=temp/2;
            }
            if(carry>0) seq.insert(0,carry);
            return seq.toString();
        }
    }
  • 相关阅读:
    postman接口测试工具
    fiddler如何做弱网测试
    支付的测试点
    公交卡测试点
    http的请求方式及http和https的区别
    百度输入框测试点
    ADB常用命令
    Python 操作注册表
    App测试流程及测试点
    python3.7 打包成exe的一种方法 pyinstaller
  • 原文地址:https://www.cnblogs.com/qiaomu/p/4644010.html
Copyright © 2011-2022 走看看