标题:67. 二进制求和
难度:简单
描述:
给你两个二进制字符串,返回它们的和(用二进制表示)。
输入为 非空 字符串且只包含数字
1
和0
。
示例 1:
输入: a = “11”, b = “1”
输出: “100”
示例 2:
输入: a = “1010”, b = “1011”
输出: “10101”
提示:
- 每个字符串仅由字符
'0'
或'1'
组成。 1 <= a.length, b.length <= 10^4
- 字符串如果不是
"0"
,就都不含前导零。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
执行结果: 通过
执行用时: 6 ms, 在所有 Java 提交中击败了11,35%的用户
内存消耗: 38.7 MB,在所有 Java 提交中击败了5.61%的用户
通过测试用例: 294 / 294
class Solution {
public String addBinary(String a, String b) {
//记录进位
int temp = 0;
//记录返回值
String reStr = "";
//字符串a长度
int aLength = a.length();
//字符串b长度
int bLength = b.length();
//a\b中最大长度
int maxLength = aLength > bLength?aLength:bLength;
for(int i = 0;i < maxLength;i++){
//a对应位置值 初始为0
int ai = 0;
//b对应位置值 初始为0
int bi = 0;
//如果长度在a范围内
if(i < aLength){
//char - '0' 就是真实的数字,例:'1'-'0' = 1; '4'-'0' = 4
//可看文末码表对比
//取a倒数第i位置的字符串,并转换成数字
ai += a.charAt(aLength-1-i) - '0';
}
//如果长度在b范围内
if(i < bLength){
//取b倒数第i位置的字符串,并转换成数字
bi += b.charAt(bLength-1-i) - '0';
}
//当前位置数 tagi= ai+bi+temp(进位值)
int tagi = ai + bi + temp;
if(tagi > 1){
//大于1 就代表需要进位 此时tagi可能等于2或者3
reStr = (tagi - 2) + reStr;
//进位值temp 赋值1
temp = 1;
}else{
//如果不大于1 直接赋值,将值赋值到 记录返回值 的前边
reStr = tagi + reStr;
//不大于1 进位值置0
temp = 0;
}
}
if(temp > 0){
//如果进位值还有值,代表还需进位,将进位值拼接到 记录返回值 前边
reStr = temp + reStr;
}
//返回对应值
return reStr;
}
}
ASCII值 | 控制字符 | ASCII值 | 控制字符 | ASCII值 | 控制字符 | ASCII值 | 控制字符 |
---|---|---|---|---|---|---|---|
0 | NUT | 32 | (space) | 64 | @ | 96 | 、 |
1 | SOH | 33 | ! | 65 | A | 97 | a |
2 | STX | 34 | " | 66 | B | 98 | b |
3 | ETX | 35 | # | 67 | C | 99 | c |
4 | EOT | 36 | $ | 68 | D | 100 | d |
5 | ENQ | 37 | % | 69 | E | 101 | e |
6 | ACK | 38 | & | 70 | F | 102 | f |
7 | BEL | 39 | , | 71 | G | 103 | g |
8 | BS | 40 | ( | 72 | H | 104 | h |
9 | HT | 41 | ) | 73 | I | 105 | i |
10 | LF | 42 | * | 74 | J | 106 | j |
11 | VT | 43 | + | 75 | K | 107 | k |
12 | FF | 44 | , | 76 | L | 108 | l |
13 | CR | 45 | - | 77 | M | 109 | m |
14 | SO | 46 | . | 78 | N | 110 | n |
15 | SI | 47 | / | 79 | O | 111 | o |
16 | DLE | 48 | 0 | 80 | P | 112 | p |
17 | DCI | 49 | 1 | 81 | Q | 113 | q |
18 | DC2 | 50 | 2 | 82 | R | 114 | r |
19 | DC3 | 51 | 3 | 83 | S | 115 | s |
20 | DC4 | 52 | 4 | 84 | T | 116 | t |
21 | NAK | 53 | 5 | 85 | U | 117 | u |
22 | SYN | 54 | 6 | 86 | V | 118 | v |
23 | TB | 55 | 7 | 87 | W | 119 | w |
24 | CAN | 56 | 8 | 88 | X | 120 | x |
25 | EM | 57 | 9 | 89 | Y | 121 | y |
26 | SUB | 58 | : | 90 | Z | 122 | z |
27 | ESC | 59 | ; | 91 | [ | 123 | { |
28 | FS | 60 | < | 92 | / | 124 | | |
29 | GS | 61 | = | 93 | ] | 125 | } |
30 | RS | 62 | > | 94 | ^ | 126 | ` |
31 | US | 63 | ? | 95 | _ | 127 | DEL |