Add Binary
来源:互联网 发布:淘宝补差价 编辑:程序博客网 时间:2024/04/30 07:34
把短的串添加0变为一样长度的字符串。
public class Solution {public String addBinary(String a, String b) {// Start typing your Java solution below// DO NOT write main() functionint len_a = a.length();int len_b = b.length();if (len_a == 0 && len_b == 0)return null;if (len_a == 0)return b;if (len_b == 0)return a;int max;StringBuilder sb = new StringBuilder();StringBuilder ret = new StringBuilder();if (len_a < len_b) {for (int i = 0; i < len_b - len_a; i++)sb.append(0);sb.append(a);max = len_b;a = sb.toString();} else if (len_a > len_b) {for (int i = 0; i < len_a - len_b; i++)sb.append(0);sb.append(b);max = len_a;b = sb.toString();} else {max = len_a;}int[] c = new int[max];int t = 0;int i;for (i = 0; i < max; i++) {char ca = a.charAt(max - i - 1);char cb = b.charAt(max - i - 1);if (ca == '1' && cb == '1') {c[i] = t;t = 1;}if ((ca == '1' && cb == '0') || (ca == '0' && cb == '1')) {c[i] = (t + 1) % 2;if (t == 0)t = 0;elset = 1;}if (ca == '0' && cb == '0') {c[i] = t;t = 0;}}if (t == 1) {ret.append(1);}for (i = max - 1; i >= 0; i--)ret.append(c[i]);return ret.toString();}public static void main(String[] args) {Solution aa = new Solution();System.out.println(aa.addBinary("11", "1"));}}
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- 异常捕获
- mapguide 安装调试
- Activity 生命周期
- Ubuntu键盘图标不见后重新显示方法
- C#。net项目实习常见错误数据库和调试错误
- Add Binary
- 笔试:删除字符串中的数字并压缩字符串
- 游戏开发中的坐标系
- MVC 如何防止XSS、SQL注入攻击
- IOS6.0以后APP对内存警告的处理
- 环形双链表与蛋疼的链表反转
- analyze index 时validate structure和compute statisti
- yum省时省力的grouplist和groupinstall
- iOS中XML解析汇总