67. Add Binary
来源:互联网 发布:约瑟夫问题 c语言 编辑:程序博客网 时间:2024/06/05 20:25
1.Question
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100"
.
class Solution {public: string addBinary(string a, string b) { int dist = a.size() - b.size(); if(dist < 0) a.swap(b); //把长的字符串放到a,短的为b for(int i = 0; i < abs(dist); i++) b.insert(b.begin(), '0'); //为短的字符串b添加相应的0 int carry = 0; //carry表示进位 for(int i = a.size() - 1; i >= 0; i--) //把b的值,加到a上,然后返回a { int current = a[i] - '0' + b[i] - '0'; if(carry) current++; switch(current) { case 1 : a[i] = '1'; carry = 0; break; case 2 : a[i] = '0'; carry = 1; break; case 0 : case 3 : break; } } if(carry) a.insert(a.begin(), '1'); return a; }};3.Note
a. 掌握字符串string 的insert, swap函数。
0 0
- [LeetCode]67.Add Binary
- LeetCode --- 67. Add Binary
- [Leetcode] 67. Add Binary
- [leetcode] 67.Add Binary
- 67. Add Binary
- 【leetcode】67. Add Binary
- 67. Add Binary
- [leetcode] 67.Add Binary
- [leetcode] 67. Add Binary
- 67. Add Binary
- 67. Add Binary
- 【Leetcode】67. Add Binary
- 67. Add Binary
- 67. Add Binary LeetCode
- 67. Add Binary
- 【LeetCode】67. Add Binary
- 67. Add Binary
- 67. Add Binary
- Building Web Apps in WebView
- 使用MATLAB工具箱TOOLBOX_calib标定摄像头过程
- Linux is not Matrix——日志搜集平台ELK(I)
- 搭建一个私有registry服务(基础版本)
- 归纳法证明汉诺塔解析式思路
- 67. Add Binary
- 360开源的类Redis存储系统:Pika
- Java编程思想[二]操作符
- Spark SQL简单操作演示(含导出表)
- 【软考总结】——十六进制与二进制的转换
- Java实现ftp上传文件、文件夹
- 关于PHP的多线程扩展pcntl的一些测试
- jQuery学习笔记
- AJAX提交页面代码