当前位置: 首页 > news >正文

【LeetCode】67. 二进制求和

67. 二进制求和

难度:简单

题目

给你两个二进制字符串 ab ,以二进制字符串的形式返回它们的和。

示例 1:

输入:a = "11", b = "1"
输出:"100"

示例 2:

输入:a = "1010", b = "1011"
输出:"10101"

提示:

  • 1 <= a.length, b.length <= 10^4
  • ab 仅由字符 '0''1' 组成
  • 字符串如果不是 "0" ,就不含前导零

个人题解

思路:

  1. 从后往前遍历字符逐个判断即可
  2. 最后考虑是否进位
  3. sum & 1 等价于 sum % 2
class Solution {public String addBinary(String a, String b) {StringBuilder ans = new StringBuilder();int ca = 0;for (int i = a.length() - 1, j = b.length() - 1; i >= 0 || j >= 0; i--, j--) {int sum = ca;sum += i>= 0 ? a.charAt(i) - '0' : 0;sum += j>= 0 ? b.charAt(j) - '0' : 0;ca = sum / 2;ans.append(sum & 1);}if (ca == 1) {ans.append(1);}return ans.reverse().toString();}
}
http://www.lryc.cn/news/228580.html

相关文章:

  • 【LeetCode刷题笔记】二叉树(一)
  • NativeScript开发ios应用,怎么生成测试程序?
  • Js面试题:说一下js的模块化?
  • 媒体转码软件Media Encoder 2024 mac中文版功能介绍
  • 整治PPOCRLabel中cv2文件读取问题(更新中)
  • 网络运维Day09-补充
  • 【C++】【Opencv】minMaxLoc()函数详解和示例
  • 用Go实现网络流量解析和行为检测引擎
  • Mysql数据备份 — mysqldump
  • vue使用Echarts5实现词云图
  • 带有密码的Excel只读模式,如何取消?
  • Linux下基本操作命令
  • JVS低代码表单自定义按钮的使用说明和操作示例
  • C++--二叉树经典例题
  • 软件测试需要学习什么?好学吗?需要学多久?到底是报班好还是自学好?
  • Ubuntu搭建AI画图工具stable diffusion-webui
  • 智能优化算法(一):伪随机数的产生
  • python 调用Oracle有返回参数的存储过程
  • 700. 二叉搜索树中的搜索
  • GO学习之 互斥锁、读写锁该如何取舍
  • Internet的特点
  • Rust4.2 Common Collections
  • 芸鹰蓬飞:抖音投流以后还有自然流量吗?
  • CTFhub-RCE-php://input
  • RISC-V处理器设计(五)—— 在 RISC-V 处理器上运行 C 程序
  • 【PIE-Engine 数据资源】全球250米LAI产品
  • vcomp120.dll丢失怎么办?vcomp120.dll丢失的解决方法分享
  • linux下使用Docker Compose部署Spug实现公网远程访问
  • 【STM32 CAN】STM32G47x 单片机FDCAN作为普通CAN外设使用教程
  • Apache Log4j2漏洞