[LeetCode] 67. 二进制求和(简单模拟二进制求和)
发布日期:2021-06-29 21:41:14
浏览次数:3
分类:技术文章
本文共 1319 字,大约阅读时间需要 4 分钟。
题目:
给定两个二进制字符串,返回他们的和(用二进制表示)。
样例1:
a = 11
b = 1
返回 100
样例2:
输入: a = "1010", b = "1011"
输出: "10101"
C++代码:
class Solution {public: string addBinary(string a, string b) { int len1=a.length(),len2=b.length(); if(len1=0){ //模拟加法 add+=a[len1]-'0'+b[len2]-'0'; ans+=add%2+'0'; add>>=1; len1--,len2--; } while(len1>=0){ //对齐加完之后还剩下的也需要加上 add+=a[len1]-'0'; ans+=add%2+'0'; add>>=1; len1--; } if(add){ //最后如果还有进位 ans+=add+'0'; } string newans=""; for(int i=ans.length()-1;i>=0;i--) newans+=ans[i]; return newans; }};
Java代码:
class Solution { public String addBinary(String a, String b) { if(a.equals("0")) return b; if(b.equals("0")) return a; String temp=""; if(a.length()=0){ add+=a.charAt(lena)-'0'+b.charAt(lenb)-'0'; ans.append(add%2+""); add>>=1; lena=lena-1; lenb=lenb-1; } while(lena>=0){ add+=a.charAt(lena)-'0'; ans.append(add%2+""); add>>=1; lena-=1; } if(add==1){ ans.append(add+""); } ans.reverse(); return ans.toString(); }}
转载地址:https://dh-butterfly.blog.csdn.net/article/details/80874715 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年04月11日 05时40分35秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
15.docker实战之redis集群
2019-04-30
16.Dockerfile 实战之发布springboot项目
2019-04-30
15.1docker部署单机redis
2019-04-30
17.docker实战之安装ES
2019-04-30
18.docker实战之idea添加docker插件
2019-04-30
java 高效工具库
2019-04-30
19.docker之dockerCompose基础
2019-04-30
20.docker之DockerCompose基础进阶
2019-04-30
1.全局异常处理
2019-04-30
3.mysql 索引基础知识
2019-04-30
线程、事件与QObject
2019-04-30
树莓派4不连接显示器开机的方法
2019-04-30
[转]ffmpeg在vs2008中的使用
2019-04-30
[转]用"树莓派"打造一款智能音响(也许有点智障。。。)
2019-04-30
学习笔记(02):一学即懂的计算机视觉(第一季)-什么是视觉?
2019-04-30
学习笔记(03):一学即懂的计算机视觉(第一季)-第一个计算机视觉程序
2019-04-30
学习笔记(04):一学即懂的计算机视觉(第一季)-计算机视觉方向知识体系结构...
2019-04-30
学习笔记(05):一学即懂的计算机视觉(第一季)-学了视觉可以做什么
2019-04-30
学习笔记(06):一学即懂的计算机视觉(第一季)-有光即有世界:照明模型
2019-04-30
学习笔记(08):一学即懂的计算机视觉(第一季)-实战演练:颜色空间分解
2019-04-30