二進位制字串相加
轉載自:
https://leetcode.com/problems/add-binary/discuss/
洋人寫的好優雅啊
https://leetcode.com/problems/add-binary/discuss/
洋人寫的好優雅啊
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100".
-
public class Solution {
-
public String addBinary(String a, String b) {
-
if(a == null || a.isEmpty()) {
-
return b;
-
}
-
if(b == null || b.isEmpty()) {
-
return a;
-
}
-
char[] aArray = a.toCharArray();
-
char[] bArray = b.toCharArray();
-
StringBuilder stb = new StringBuilder();
-
-
int i = aArray.length - 1;
-
int j = bArray.length - 1;
-
int aByte;
-
int bByte;
-
int carry = 0;
-
int result;
-
-
while(i > -1 || j > -1 || carry == 1) {
-
aByte = (i > -1) ? Character.getNumericValue(aArray[i--]) : 0;
-
bByte = (j > -1) ? Character.getNumericValue(bArray[j--]) : 0;
-
result = aByte ^ bByte ^ carry;
-
carry = ((aByte + bByte + carry) >= 2) ? 1 : 0;
-
stb.append(result);
-
}
-
return stb.reverse().toString();
-
}
- }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29254281/viewspace-2143227/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 教你如何進行數倉字串、二進位制、十六進位制互轉字串
- 二進位制與二進位制運算
- C++資料格式化5 - uint轉換成十六進位制字串&二進位制的data列印成十六進位制字串C++UI字串
- 進位制詳解:二進位制、八進位制和十六進位制
- JavaScript 二進位制、八進位制與十六進位制JavaScript
- 二進位制
- (二進位制)
- 十進位制——二 (八、十六 )進位制
- 二進位制,八進位制,十進位制,十六進位制的相互轉換
- 【進位制轉換】二進位制、十六進位制、十進位制、八進位制對應關係
- 二進位制、十進位制與十六進位制相互轉化
- java中二進位制、八進位制、十進位制、十六進位制的轉換Java
- 二進位制,八進位制,十進位制,十六進位制之間的轉換
- 計算機基礎進位制轉換(二進位制、八進位制、十進位制、十六進位制)計算機
- 二進位制轉十進位制快速方法
- JAVA 二進位制,八進位制,十六進位制,十進位制間進行相互轉換Java
- C# 解析16進位制字串。將16進位制字串轉換成明文字串C#字串
- 什麼是二進位制?二進位制如何轉換?
- Java 16進位制字串 取反Java字串
- 04 二進位制
- Cocoapods 二進位制
- leetcode -- 二進位制LeetCode
- 請問一下如何將字串轉二進位制?字串
- 十進位制轉二進位制推導(草稿)
- JavaScript十進位制轉換為二進位制JavaScript
- [計算機基礎] 計算機進位制轉換:二進位制、八進位制、十進位制、十六進位制計算機
- 進位制之間的轉換之“十六進位制 轉 十進位制 轉 二進位制 方案”
- 一看就懂二進位制、八進位制、十六進位制數轉換十進位制
- 整數轉化成八進位制、十六進位制、二進位制,以及轉回
- 16進位制字串轉位元組字串
- 進位制與二進位制及相關轉換
- ZOJ Martian Addition (20進位制的兩個大數相加)
- 二進位制或序列
- 二進位制陣列陣列
- 3416:【例72.1】 二進位制轉化為十進位制
- 遞迴函式實現十進位制正整數轉換為二進位制,八進位制,十六進位制遞迴函式
- 位元組流轉16進位制字串字串
- java二進位制運算十進位制(精確運算)Java
- Python 十進位制轉換為二進位制 高位補零Python