LCR 002. 二进制求和

剑指Offer通关

力扣搜索LCR即为剑指Offer的所有题目。

LCR 002. 二进制求和

笨方法:

先将两个string反过来,然后相加。

然后将剩下的长的再补上。

需要注意进位。

java 复制代码
class Solution {
    public String addBinary(String a, String b){
        StringBuffer res = new StringBuffer();
        StringBuffer c = new StringBuffer(a).reverse();
        StringBuffer d = new StringBuffer(b).reverse();
        String Long = c.length()>d.length() ? c.toString() : d.toString();
        int len = Math.min(a.length(), b.length());
        int idx = 0;
        int add = 0;
        for(idx=0;idx<len;idx++){
            if(c.charAt(idx)=='0' && d.charAt(idx)=='0'){
                if(add==0)
                    res.append("0");
                else if(add==1){
                    res.append("1");
                    add = 0;
                }
            }

            else if(c.charAt(idx)=='1' && d.charAt(idx)=='1'){
                if(add == 0){
                    res.append("0");
                    add = 1;
                }
                else if(add == 1){
                    res.append("1");
                    add = 1;
                }
            }
            else{
                if(add==0){
                    res.append("1");
                    add = 0;
                }
                else if(add==1){
                    res.append("0");
                    add = 1;
                }
            }
        }
        for(; idx<Long.length();idx ++){
            if(add == 0)
                res.append(Long.charAt(idx));
            else{
                if(Long.charAt(idx) == '0'){
                    res.append('1');
                    add = 0;
                }
                else res.append('0');
            }
        }
        if(add == 1)
            res.append("1");
        return res.reverse().toString();

    }
}
相关推荐
IT 小阿姨(数据库)3 分钟前
PostgreSQL etcd 集群介绍
运维·数据库·sql·postgresql·centos·etcd
world-wide-wait1 小时前
python高级04——网络编程
linux·服务器·网络
迎風吹頭髮1 小时前
Linux内核架构浅谈26-Linux实时进程调度:优先级反转与解决方案
linux·服务器·架构
等风来不如迎风去1 小时前
用你本地已有的私钥(private key)去 SSH 登录远程 Ubuntu 服务器
服务器·ubuntu·ssh
tomcsdn411 小时前
SMTPman高效稳定的smtp服务器使用指南解析
服务器·邮件营销·外贸开发信·邮件群发·域名邮箱·邮件服务器·红人营销
宇宙第一小趴菜1 小时前
11 安装回忆相册
linux·运维·centos7·yum·回忆相册·kh_mod
艾莉丝努力练剑1 小时前
【Linux指令 (二)】不止于入门:探索Linux系统核心与指令的深层逻辑,理解Linux系统理论核心概念与基础指令
linux·服务器·数据结构·c++·centos
tjsoft3 小时前
设置 windows nginx.exe 每天 重启
运维·windows·nginx
isyangli_blog3 小时前
Windows & Linux 操作系统分区管理
linux·运维·服务器
IT 小阿姨(数据库)3 小时前
PostgreSQL wal_e 工具详解
运维·数据库·sql·postgresql·centos