摘要:,,這道題就是求兩個表示為字符串形式的二進制數字的和。最初我的想法是直接對兩個字符串相對應的位進行直接運算,再用一個變量來表示進位,這里我選擇將較短的字符串前面用補位,以獲得兩個相同長度的字符串進行逐位運算。
Given two binary strings, return their sum (also a binary string).
For example,a = "11",b = "1",Return "100".
這道題就是求兩個表示為字符串形式的二進制數字的和。
最初我的想法是直接對兩個字符串相對應的位進行直接運算,再用一個變量來表示進位,這里我選擇將較短的字符串前面用0補位,以獲得兩個相同長度的字符串進行逐位運算。
但其實不需要補位
下面貼出來的代碼用了三元表達式進行判斷,如果相應長度有數字就取出數字,如果沒有數字則賦值為0
隨后對ab字符串的相同位置,以及進位的值進行異或運算
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(); } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/67098.html
摘要:給定兩個二進制字符串,返回他們的和用二進制表示。返回的數值是以開頭,表明返回的數值是二進制函數用于將一個字符串或數字轉換為整型。指定為非十進制時,需以字符串形式傳入從第三個元素開始截取,忽略 (python、java)Given two binary strings, return their sum (also a binary string).The input strings a...
摘要:給定兩個二進制字符串,返回他們的和用二進制表示。返回的數值是以開頭,表明返回的數值是二進制函數用于將一個字符串或數字轉換為整型。指定為非十進制時,需以字符串形式傳入從第三個元素開始截取,忽略 (python、java)Given two binary strings, return their sum (also a binary string).The input strings a...
摘要:題目要求將兩個二進制字符串相加結果以二進制字符串的形式返回要格外注意可能會在最高位存在進位想要了解更多開發技術,面試教程以及互聯網公司內推,歡迎關注我的微信公眾號將會不定期的發放福利哦 題目要求:將兩個二進制字符串相加結果以二進制字符串的形式返回要格外注意可能會在最高位存在進位 /** * @author rale * * Given two binary strings, r...
摘要:自己沒事刷的一些的題目,若有更好的解法,希望能夠一起探討項目地址 自己沒事刷的一些LeetCode的題目,若有更好的解法,希望能夠一起探討 Number Problem Solution Difficulty 204 Count Primes JavaScript Easy 202 Happy Number JavaScript Easy 190 Reverse Bi...
摘要:二叉樹邊界題意高頻題,必須熟練掌握。逆時針打印二叉樹邊界。解題思路根據觀察,我們發現當為左邊界時,也是左邊界當為左邊界時,為空,則也可以左邊界。先加入左邊,加入,然后得到兩個子樹加入,最后加入右邊界。 LeetCode 545. Boundary of Binary Tree 二叉樹邊界Given a binary tree, return the values of its boun...
閱讀 2289·2021-11-24 09:38
閱讀 1986·2021-11-22 14:44
閱讀 1150·2021-07-29 13:48
閱讀 2615·2019-08-29 13:20
閱讀 1115·2019-08-29 11:08
閱讀 2046·2019-08-26 10:58
閱讀 1264·2019-08-26 10:55
閱讀 3149·2019-08-26 10:39