8000
We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 425f188 commit 4a6f773Copy full SHA for 4a6f773
problems/067. Add Binary/README.md
@@ -0,0 +1,35 @@
1
+# 67. Add Binary F6D3 div>
2
+
3
+## #1 进位相加
4
5
+### 思路
6
7
+整数加法本身不是特别难的问题,但是因为采用不同的存储方式来表示整数,导致我们在写整数加法的时候需要特别处理,`LeetCode`上关于整数表示方式有:链表、数组、字符串。解决这类问题的基本思路都是从低位开始遍历,通过进位相加法来处理相加后每一位得到的结果。
8
9
+### 算法
10
11
+```java
12
+class Solution {
13
+ public String addBinary(String a, String b) {
14
+ StringBuffer sb = new StringBuffer();
15
+ int i = a.length()-1;
16
+ int j = b.length() - 1;
17
+ int carry = 0;
18
+ while(i >= 0 || j >=0){
19
+ int sum = carry;
20
+ if(i>=0) sum+=a.charAt(i--) - '0';
21
+ if(j>=0) sum+=b.charAt(j--) - '0';
22
+ sb.append(sum%2);
23
+ carry = sum/2;
24
+ }
25
+ if(carry!=0) sb.append(carry);
26
+ return sb.reverse().toString();
27
28
+}
29
+```
30
31
+### 复杂度分析:
32
33
+- 时间复杂性:$O(n)$
34
+- 空间复杂性:$O(1)$
35
0 commit comments