Leet code 67. Add Binary
来源:互联网 发布:南极人枕芯怎么样 知乎 编辑:程序博客网 时间:2024/05/16 06:34
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) {
- //传进来的string有可能为空。
- if (a.empty())
- {
- if(b.empty())return "0";
- if(!b.empty())return b;
- }
- if(!a.empty()&&b.empty())return a;
- //为了计算方便,默认string a为length较大
- if (a.length()<b.length())
- return addBinary(b,a);
- //较小的string b前面都补0
- string m_b(a.length()-b.length(),'0');
- m_b += b;
- //开始计算
- string m_Result;
- int m_jinwei = 0;
- for (int i = a.length()-1 ;i>=0;i--)
- {
- char c = a[i]+m_b[i]+m_jinwei;
- switch(c)
- {
- case 'c':c = '1';m_jinwei = 1;break;
- case 'b':c = '0';m_jinwei = 1;break;
- case 'a':c = '1';m_jinwei = 0;break;
- case 96:c = '0';m_jinwei = 0;break;
- }
- m_Result.insert(0,1,c);
- }
- if(m_jinwei)
- m_Result.insert(0,1,m_jinwei+48);
- return m_Result;
- }
- };
0 0
- Leet code 67. Add Binary
- [leet code] Add Binary
- 【Leet Code】Add Two Numbers
- [leet code] Balanced Binary Tree
- [leet code] Balanced Binary Tree
- Leet Code Medium 2 add two numbers
- leet code 002:Add Two Numbers ???未完成
- [leet code]Maximum Depth of Binary Tree
- [leet code] Unique Binary Search Trees
- [leet code] Binary Tree Preorder Traversal
- [leet code] Binary Tree Inorder Traversal
- [leet code] Binary Tree Postorder Traversal
- [leet code] Binary Tree Level Order Traversal
- [leet code] Minimum Depth of Binary Tree
- [leet code] Unique Binary Search Trees II
- [leet code] Validate Binary Search Tree
- Maximum Depth of Binary Tree (Leet Code)
- CODE 67: Add Binary
- 关于未来
- maven tomcat7:deploy
- Java高级开发反射手段更换对象根节点内容
- web进修之—Hibernate起步(1)
- Arcgis server发布切片替换之前的注意事项
- Leet code 67. Add Binary
- iOS下KVO使用过程中的陷阱
- Android中圆角Button实现
- Android ViewDragHelper完全解析 自定义ViewGroup神器
- android listview 下拉头部图片拉伸
- 169. Majority Element
- CentOS 6.5下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器
- 几种简单排序的实现
- Java 从流中读取byte的奇怪现象,出现负值,详解