LeetCode 87 Add Binary
来源:互联网 发布:java http 文件上传 编辑:程序博客网 时间:2024/04/29 12:43
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
For example,
a = "11"
b = "1"
Return "100".
分析:
用栈存储中间结果。
这个代码写得不好,有空改进。
public class Solution { public String addBinary(String a, String b) { if(a == null || b == null || a.length()==0 || b.length()==0) return null; int i = a.length()-1; int j = b.length()-1; Stack<Character> st = new Stack<Character>(); int p1, p2; int sum, carry=0; while(i>=0 || j>=0){ if(i<0){ p1 = 0; p2 = b.charAt(j)-48; }else if(j<0){ p1 = a.charAt(i)-48; p2 = 0; }else{ p1 = a.charAt(i)-48; p2 = b.charAt(j)-48; } sum = p1+p2+carry; if(sum == 0){ st.push('0'); carry=0; }else if(sum==1){ st.push('1'); carry=0; }else if(sum == 2){ st.push('0'); carry = 1; }else if(sum == 3){ st.push('1'); carry = 1; } i--; j--; } if(carry == 1) st.push('1'); StringBuffer sb = new StringBuffer(); while(!st.empty()) sb.append(st.pop()); return sb.toString(); }}
0 0
- LeetCode 87 Add Binary
- LeetCode: Add Binary
- [Leetcode] Add Binary
- LeetCode Add Binary
- Leetcode: Add Binary
- [Leetcode] Add Binary
- LeetCode : Add Binary
- LeetCode Add Binary
- [LeetCode] Add Binary
- leetcode 58: Add Binary
- leetcode Add Binary
- [LeetCode] Add Binary
- 【leetcode】Add Binary
- [LeetCode]Add Binary
- [leetcode]Add Binary
- LeetCode-Add Binary
- [leetcode] Add Binary
- LeetCode - Add Binary
- 这是我刚开的博客啊@!!!!!
- IE8浏览器 无法启动脚本调试!弹出框(无法附加进程 进程可能附加了另一个调试程序)
- 个热热隔热尴尬色
- 线程的使用
- 抽象类的继承与接口继承在规则上有以下几点归纳:
- LeetCode 87 Add Binary
- BZOJ 1096 ZJOI2007 仓库建设 斜率优化
- 小黑小波比.功能测试问题解决
- 2014年工作中遇到的20个问题:41-60
- 移除所有子视图,无需循环只需要一句代码
- VS2013工程文件转换成VS2010
- Hibernate创建sessionFactory,session和关闭session的工具类
- CentOS 查看IP,端口 修改IP,打开端口生效
- vmware虚拟机复制centos后,网卡配置问题Device eth0 does not seem to be present