leetcode67.二进制求和

java 复制代码
public class Solution {
    public String addBinary(String a, String b) {
        StringBuilder result = new StringBuilder();
        int i = a.length() - 1;
        int j = b.length() - 1;
        int carry = 0;
        
        while (i >= 0 || j >= 0 || carry != 0) {
            int sum = carry;
            if (i >= 0) {
                sum += a.charAt(i--) - '0';  // 转换为数字
            }
            if (j >= 0) {
                sum += b.charAt(j--) - '0';  // 转换为数字
            }
            
            // 使用位运算计算当前位和进位
            result.append(sum & 1);        // 当前位
            carry = (sum >> 1) & 1;        // 进位
        }
        
        return result.reverse().toString();
    }
}    
相关推荐
一只齐刘海的猫18 小时前
【Leetcode】找到字符串中所有字母异位词
算法·leetcode·职场和发展
海清河晏11119 小时前
数据结构 | 八大排序
数据结构·算法·排序算法
IronMurphy20 小时前
【算法五十七】146. LRU 缓存
算法·缓存
凌波粒20 小时前
LeetCode--108.将有序数组转换为二叉搜索树(二叉树)
算法·leetcode·职场和发展
liulilittle20 小时前
KCC:在 BBR 思路上的一次探索
网络·tcp/ip·算法·bbr·通信·拥塞控制·kcc
浦信仿真大讲堂21 小时前
达索系统SIMULIA Abaqus 2026接触和约束的增强新功能介绍
人工智能·python·算法·仿真软件·达索软件
点云侠21 小时前
PCL 生成三棱锥点云
c++·算法·最小二乘法
兰令水21 小时前
leecodecode【面试150】【2026.6.13打卡-java版本】
java·算法·leetcode
临沂堇21 小时前
刷题日志 | Leetcode Hot 100 哈希
算法·leetcode·哈希算法