当前位置:网站首页>二进制加法
二进制加法
2022-08-09 10:58:00 【拾荒大妈】
题目
给定两个 01 字符串 a 和 b ,请计算它们的和,并以二进制字符串的形式输出。
输入为 非空 字符串且只包含数字 1 和 0。
代码
/**
* @param {string} a
* @param {string} b
* @return {string}
*/
var addBinary = function(a, b) {
var i = Math.max(a.length,b.length)
a = a.padStart(i,'0');//位数不同,左边填充"0"
b = b.padStart(i,'0');
var flag = 0;
var sum = "";
for(let j = i-1 ;j >= 0 || flag!=0;j--){
var misum;
if(j<0){
misum = flag;
flag = 0;
}
else{
misum = parseInt(a[j])+parseInt(b[j])+flag;
flag = 0 ;
}
if(misum >= 2){
flag = 1;
}
if(misum%2 == 1){
sum+="1";
}
else sum+="0";;
}
return sum.split("").reverse().join("");
};
注意
1. 传入的值的类型是字符,可能会出现字符长度不一样的情况,首先需要填充0使字符一致。
2. flag用于标志是否有进位,当相应位数值和flag相加,如果为1或者3,则填加“1”,,为0或者2,添加“0”
3 需把相应位转化为数字类型,然后进行相加,最后结果需要反序
边栏推荐
- MySQL查询性能优化七种武器之索引潜水
- UNIX Environment Programming Chapter 15 15.6 XSI IPC
- pip common commands and changing source files
- vite的原理,手写vite
- 从位图到布隆过滤器
- Solve 1. tensorflow runs using CPU but not GPU 2. GPU version number in tensorflow environment 3. Correspondence between tensorflow and cuda and cudnn versions 4. Check cuda and cudnn versions
- 激光条纹中心提取——Steger
- For versions corresponding to tensorflow and numpy, report FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecate
- FreeRTOS列表和列表项源码分析
- pip常见命令和更改源文件
猜你喜欢
Qt获取EXE可执行文件的上一级目录下的文件
性能测试(04)-表达式和业务关联-JDBC关联
【 original 】 VMware Workstation implementation Openwrt soft routing, the ESXI, content is very detailed!
彻底理解工厂模式
arcgis制图之天地图符号样式配置
PoseNet: A Convolutional Network for Real-Time 6-DOF Camera Relocalization论文阅读
相关系数计算,热力图绘制,代码实现
激光条纹中心提取——灰度重心法
CentOS6.5 32bit安装Oracle-11gR2步骤说明
Since I use the HiFlow scene connector, I don't have to worry about becoming a "dropper" anymore
随机推荐
Multi-merchant mall system function disassembly 26 lectures - platform-side distribution settings
electron 应用开发优秀实践
Create a table in a MySQL database through Doc
c语言函数的递归调用(汉诺塔问题,楼梯递归问题等)
Product Quantization (PQ)
AQS同步组件-ForkJoin、BlockingQueue阻塞队列解析和用例
相关系数计算,热力图绘制,代码实现
PoseNet: A Convolutional Network for Real-Time 6-DOF Camera Relocalization Paper Reading
pip常见命令和更改源文件
activemq message persistence
程序员的专属浪漫——用3D Engine 5分钟实现烟花绽放效果
String类型的字符串对象转实体类和String类型的Array转List
关于anaconda中conda下载包或者pip下载包很慢的原因,加速下载包的方法(无视anaconda版本和环境)
依赖注入(Dependency Injection)框架是如何实现的
电磁场与电磁波-场论基础
pip common commands and changing source files
基于STM32设计的环境检测设备
数据存储:对dataframe类,使用to_csv()将中文数据写入csv文件
Unix System Programming Chapter 15 15.2 Pipes
无重复字符的最长子串