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();

    }
}
相关推荐
斯普信专业组4 分钟前
多输入(input)多输出(output)验证
运维·服务器·网络·fluent-bit
白鹭20 分钟前
apache详细讲解(apache介绍+apache配置实验+apache实现https网站)
linux·运维·apache·apache配置·apache实现https网站
Anthony_23122 分钟前
MySQL的常用命令
运维·数据库·mysql·adb·docker
TimberWill35 分钟前
idea、服务器、数据库环境时区不一致问题
服务器·数据库·intellij-idea
✎﹏赤子·墨筱晗♪39 分钟前
基于Nginx实现反向代理、负载均衡与动静分离完整部署指南
运维·nginx·负载均衡
CesareCheung44 分钟前
JMeter压测过程中监控服务器CPU及内存的方法
运维·服务器·jmeter
傻傻虎虎1 小时前
【Docker】常用帮忙、镜像、容器、其他命令合集(1)
运维·docker·容器
草履虫建模1 小时前
在 RuoYi 中接入 3D「园区驾驶舱」:Vue2 + Three.js + Nginx
运维·开发语言·javascript·spring boot·nginx·spring cloud·微服务
wanhengidc1 小时前
高性价比云手机挑选指南
运维·网络·安全·游戏·智能手机
凡间客2 小时前
Linux防火墙-Firewalld
linux·运维·服务器