本文共 1398 字,大约阅读时间需要 4 分钟。
Given two binary strings, return their sum (also a binary string).
For example,
a ="11"
b = "1"
Return "100"
. Java代码:
public class Solution { public String addBinary(String a, String b) { int len = a.length(); if (len > b.length()) len = b.length(); StringBuilder sb = new StringBuilder(""); int flag = 0; for (int i = 0; i < len; i++) { if (a.charAt(a.length() - 1 - i) != b.charAt(b.length() - 1 - i)) { if (flag == 1) { flag = 1; sb.append("0"); } else sb.append("1"); } else { if (flag == 1) { sb.append("1"); flag = 0; } else sb.append("0"); if (a.charAt(a.length() - 1 - i) == '1') { flag = 1; } } } if (len == a.length()) { for (int i = len; i < b.length(); i++) { if (b.charAt(b.length() - 1 - i) == '0') { if (flag == 1) { flag = 0; sb.append("1"); } else { sb.append("0"); } } else { if (flag == 1) { sb.append("0"); } else { sb.append("1"); } } } } else { for (int i = len; i < a.length(); i++) { if (a.charAt(a.length() - 1 - i) == '0') { if (flag == 1) { flag = 0; sb.append("1"); } else { sb.append("0"); } } else { if (flag == 1) { sb.append("0"); } else { sb.append("1"); } } } } if (flag == 1) { flag = 0; sb.append("1"); } sb.reverse(); return sb.toString(); }}
转载地址:http://hjuni.baihongyu.com/