当前位置:首页 > 开发教程 > 软件工程 >

【Leetcode】Add Binary

时间:2016-06-06 23:26 来源: 作者: 收藏

Linux系统提供API函数sched_setaffinity和sched_getaffinity用于设置或获取线程的可以使用的CPU核。int sched_setaffinity(pid_t pid, unsigned int cpusetsize, cpu_set_t *mask);这个函数中pid表示需要设置或获取绑定信息的线程id(或进程id),如果为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  【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