67.Add Binary(String-Easy)
发布日期:2021-06-30 11:46:53
浏览次数:2
分类:技术文章
本文共 1241 字,大约阅读时间需要 4 分钟。
转载请注明作者和出处:
Given two binary strings, return their sum (also a binary string).
For example,
a = “11”
b = “1”
Return “100”
题目:两个代表二进制数字的字符串相加
思路:从低位开始相加,逢二进一:
- 字符串的高位是数字的低位。例如:string a = “100”,a[2]则为”0”; - 用一个变量记录相加的进位情况。 > Language:cpp
class Solution {public: string addBinary(string a, string b) { string s = ""; //i字符串a的索引值,j字符串b的索引值 int c = 0, i = a.size() - 1, j = b.size() - 1; //字符串a和b没有遍历完,或者存在进位,继续计算 while(i >= 0 || j >= 0 || c == 1) { //三目运算符:低位相加 c += i >= 0 ? a[i--] - '0' : 0; c += j >= 0 ? b[j--] - '0' : 0; //结果 s = char(c % 2 + '0') + s; //进位计算 c /= 2; } //返回结果 return s; }};
Language:Python
class Solution(object): def addBinary(self, a, b): """ :type a: str :type b: str :rtype: str """ if len(a)==0: return b if len(b)==0: return a if a[-1] == '1' and b[-1] == '1': return self.addBinary(self.addBinary(a[0:-1],b[0:-1]),'1') +'0' if a[-1] == '0' and b[-1] == '0': return self.addBinary(a[0:-1],b[0:-1])+'0' else: return self.addBinary(a[0:-1],b[0:-1])+'1'
LeetCode题目汇总:
转载地址:https://jackcui.blog.csdn.net/article/details/72519117 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月05日 03时49分48秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
优秀的程序员和一般的程序员差别在哪
2019-04-30
使用Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图
2019-04-30
window系统桌面图标间距调整
2019-04-30
业务并发需求的实现
2019-04-30
tomcat SSL证书的配置
2019-04-30
Oracle时间戳(毫秒)转为Date
2019-04-30
ORACLE中date和timestamp的相互转化
2019-04-30
linux下安装mysql
2019-04-30
useradd命令详解
2019-04-30
解决Layui选择全部,换页checkbox复选框重新勾选的问题
2019-04-30
U盘2个盘符怎么破?这个方法1秒解决
2019-04-30
JavaScript判断数组中是否含有某个值
2019-04-30
Oracle一个中文汉字占用几个字节
2019-04-30
CMD命令之ECHO大全
2019-04-30
Linux cut命令详解
2019-04-30
laytpl--前端数据绑定
2019-04-30
Layui 导航默认展开和菜单栏选中高亮设置
2019-04-30
java 普通工程导出成可执行文件
2019-04-30
Chrome控制台引入jQuery
2019-04-30
想要彻底毁灭数据 这招最简单
2019-04-30