首页

源码搜藏网

首页 > 开发教程 > 软件工程 >

【Leetcode】Add Binary

创建时间:2016-06-06 23:26  

题目链接:https://leetcode.com/problems/add-binary/
题目:

Given two binary strings, return their sum (also a binary string).

For example,
a = "11"
b = "1"
Return "100".

思路:

easy

算法:

[java] view plain copy  【Leetcode】Add Binary【Leetcode】Add Binary
  1. public String addBinary(String a, String b) {  
  2.     String result = "";  
  3.     int length = Math.max(a.length(), b.length());  
  4.     int numsa[] = new int[length];  
  5.     int numsb[] = new int[length];  
  6.     int r[] = new int[length];  
  7.     for (int i = 0; i < a.length(); i++) {  
  8.         numsa[i] = (a.charAt(a.length() - 1 - i) == '0'  0 : 1);  
  9.     }  
  10.     for (int i = 0; i < b.length(); i++) {  
  11.         numsb[i] = (b.charAt(b.length() - 1 - i) == '0'  0 : 1);  
  12.     }  
  13.     int d = 0, val = 0;  
  14.     for (int i = 0; i < length; i++) {  
  15.         val = numsa[i] + numsb[i] + d;  
  16.         d = val / 2;  
  17.         val = val % 2;  
  18.         r[i] = val;  
  19.     }  
  20.     for (int i = 0; i < length; i++) {  
  21.         result += r[length - 1 - i] + "";  
  22.     }  
  23.     if (d == 1//有进位  
  24.         return "" + 1 + result;  
  25.     else  
  26.         return result;  
  27. }  
0
0
   
上一篇:【Leetcode】Rectangle Area
下一篇:【Leetcode】Length of Last Word

相关内容

热门推荐