LeetCode 67. Add Binary
来源:互联网 发布:淘宝客服月薪一般多少 编辑:程序博客网 时间:2024/06/08 15:22
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100"
.
一位一位的加就行了,考虑溢出。
public class Solution { public String addBinary(String a, String b) { int i = a.length()-1; int j = b.length()-1; int flow = 0; StringBuilder strBuilder = new StringBuilder(); while(i >=0 && j >= 0){ if((a.charAt(i) == '0' || a.charAt(i) == '1') &&(b.charAt(j) == '0' || b.charAt(j) == '1')){ int temp = a.charAt(i) - '0' + b.charAt(j) - '0' +flow; flow = temp >=2 ? 1 :0; temp = temp>=2 ?temp-2 : temp; strBuilder.insert(0, temp); }else{ return ""; } i--; j--; } while(i >= 0){ if(a.charAt(i) == '0' || a.charAt(i) == '1'){ int temp = a.charAt(i) -'0'+flow; flow = temp >=2 ? 1 :0; temp = temp>=2 ?temp-2 : temp; strBuilder.insert(0, temp); }else{ return ""; } i--; } while(j >= 0 ){ if(b.charAt(j) == '0' || b.charAt(j) == '1'){ int temp = b.charAt(j) -'0'+flow; flow = temp >=2 ? 1 :0; temp = temp>=2 ?temp-2 : temp; strBuilder.insert(0, temp); }else{ return ""; } j--; } if(flow == 1) strBuilder.insert(0, "1"); return strBuilder.toString(); }}
0 0
- [LeetCode]67.Add Binary
- LeetCode --- 67. Add Binary
- [Leetcode] 67. Add Binary
- [leetcode] 67.Add Binary
- 【leetcode】67. Add Binary
- [leetcode] 67.Add Binary
- [leetcode] 67. Add Binary
- 【Leetcode】67. Add Binary
- 67. Add Binary LeetCode
- 【LeetCode】67. Add Binary
- leetcode--67. Add Binary
- leetcode 67. Add Binary
- LeetCode 67. Add Binary
- LeetCode *** 67. Add Binary
- leetcode 67. Add Binary
- 【leetcode】67.Add Binary
- LeetCode 67. Add Binary
- LeetCode-67.Add Binary
- MSReportBuilder 开发学习二
- iterm 2 快捷键
- JTAG仿真器接反了会出现什么现象
- 10 种机器学习算法的要点(附 Python )
- WordPress工作原理之程序文件执行顺序
- LeetCode 67. Add Binary
- Search a 2D Matrix II
- 使用jquery静态资源公共库cdn及回退地址
- 【中位数的应用】邮局设置
- Oracle 找出需要回收高水位的表
- android图片下载器
- Centos6.X下安装Eclipse
- tomcat get 中文乱码
- [刷题]算法竞赛入门经典 3-10/UVa1587 3-11/UVa1588