首页 > 其他 > 详细

【Leetcode】Add Binary

时间:2016-06-12 03:22:52      阅读:161      评论:0      收藏:0      [点我收藏+]

题目链接: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
 技术分享技术分享
  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. }  

【Leetcode】Add Binary

原文:http://blog.csdn.net/yeqiuzs/article/details/51598076

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!