优选算法-字符串:63.二进制求和

题目链接:67. 二进制求和(简单)

算法原理:

击败99.77%

时间复杂度O(N)

解法:模拟列竖式计算

Java代码:

java 复制代码
/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 王洋
 * Date: 2025-09-15
 * Time: 21:04
 */
class Solution {
    //67. 二进制求和
    public String addBinary(String a, String b) {
        StringBuffer ret=new StringBuffer();
        int cur1=a.length()-1,cur2=b.length()-1,t=0;
        while(cur1>=0||cur2>=0||t>0){
            if(cur1>=0) t+=a.charAt(cur1--)-'0';
            if(cur2>=0) t+=b.charAt(cur2--)-'0';
            ret.append((char)((char)(t%2)+'0'));
            t/=2;
        }
        return ret.reverse().toString();
    }
}
相关推荐
大明者省6 小时前
WSL2 Ubuntu22.04 GPU训练环境配置指南
人工智能·算法·计算机视觉
嘻哈∠※6 小时前
0061基于 SpringBoot 的投稿与稿件处理系统设计与实现
java·spring boot·后端
WWJA王文举7 小时前
I²C通信完整流程详解:START、地址、ACK、数据、Repeated START和STOP一次讲透
c语言·开发语言
zhanghaha13147 小时前
Python进阶教程:6_JSON 数据解析 —— 新手完全指南
开发语言·python·json
白狐_7987 小时前
408数据结构第8章:排序②——性质对比秒杀、场景选择与外部排序
java·数据结构·算法
zander2588 小时前
LeetCode 84:柱状图中的最大矩形——单调栈如何确定左右边界
java·数据结构·算法
码匠许师傅8 小时前
【C++ 面试真题】聊聊 C++ 的拷贝构造与拷贝赋值
java·c++·面试
Shell运维手记8 小时前
Linux 常用基础命令学习笔记
linux·运维·笔记·学习·算法·github
qq_448011168 小时前
C语言中的动态内存分配
c语言·开发语言·php
杨航 AI8 小时前
O(n log n):线性对数原理拆解 这个是排序算法的黄金复杂度之一。
算法·排序算法