摘要:題目要求將兩個(gè)二進(jìn)制字符串相加結(jié)果以二進(jìn)制字符串的形式返回要格外注意可能會(huì)在最高位存在進(jìn)位想要了解更多開(kāi)發(fā)技術(shù),面試教程以及互聯(lián)網(wǎng)公司內(nèi)推,歡迎關(guān)注我的微信公眾號(hào)將會(huì)不定期的發(fā)放福利哦
題目要求:將兩個(gè)二進(jìn)制字符串相加結(jié)果以二進(jìn)制字符串的形式返回
要格外注意可能會(huì)在最高位存在進(jìn)位
/** * @author rale * * Given two binary strings, return their sum (also a binary string). * For example, * a = "11" * b = "1" * Return "100". */ public class AddBinary { public String addBinary(String a, String b) { StringBuilder result = new StringBuilder(); int pointerA = a.length()-1; int pointerB = b.length()-1; int carry = 0; while(pointerA>=0 || pointerB>=0){ int sum = carry; if(pointerA>=0){ sum += (a.charAt(pointerA)-"0"); pointerA--; } if(pointerB>=0){ sum += (b.charAt(pointerB)-"0"); pointerB--; } result.append(sum%2); carry = sum/2; } if(carry!=0){ result.append("1"); } return result.reverse().toString(); } }
想要了解更多開(kāi)發(fā)技術(shù),面試教程以及互聯(lián)網(wǎng)公司內(nèi)推,歡迎關(guān)注我的微信公眾號(hào)!將會(huì)不定期的發(fā)放福利哦~
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/66854.html
摘要:給定兩個(gè)二進(jìn)制字符串,返回他們的和用二進(jìn)制表示。返回的數(shù)值是以開(kāi)頭,表明返回的數(shù)值是二進(jìn)制函數(shù)用于將一個(gè)字符串或數(shù)字轉(zhuǎn)換為整型。指定為非十進(jìn)制時(shí),需以字符串形式傳入從第三個(gè)元素開(kāi)始截取,忽略 (python、java)Given two binary strings, return their sum (also a binary string).The input strings a...
摘要:給定兩個(gè)二進(jìn)制字符串,返回他們的和用二進(jìn)制表示。返回的數(shù)值是以開(kāi)頭,表明返回的數(shù)值是二進(jìn)制函數(shù)用于將一個(gè)字符串或數(shù)字轉(zhuǎn)換為整型。指定為非十進(jìn)制時(shí),需以字符串形式傳入從第三個(gè)元素開(kāi)始截取,忽略 (python、java)Given two binary strings, return their sum (also a binary string).The input strings a...
摘要:模擬加法復(fù)雜度時(shí)間空間思路模擬加法的運(yùn)算法則,從最低位加到最高位。記得使用來(lái)減少字符串操作的開(kāi)銷(xiāo)。代碼后續(xù)如果不是二進(jìn)制相加,而是十六進(jìn)制相加呢只要把算法中的除和余換成,并添加相應(yīng)的十六進(jìn)制字母就行了。 Add Binary Given two binary strings, return their sum (also a binary string). For example, ...
摘要:,,這道題就是求兩個(gè)表示為字符串形式的二進(jìn)制數(shù)字的和。最初我的想法是直接對(duì)兩個(gè)字符串相對(duì)應(yīng)的位進(jìn)行直接運(yùn)算,再用一個(gè)變量來(lái)表示進(jìn)位,這里我選擇將較短的字符串前面用補(bǔ)位,以獲得兩個(gè)相同長(zhǎng)度的字符串進(jìn)行逐位運(yùn)算。 Given two binary strings, return their sum (also a binary string).For example,a = 11,b = ...
摘要:?jiǎn)栴}在于如何將問(wèn)題拆分成多次搜索。然而,乘法如何處理呢這里我們需要用一個(gè)變量記錄乘法當(dāng)前累乘的值,直到累乘完了,遇到下一個(gè)加號(hào)或減號(hào)再將其算入計(jì)算結(jié)果中。這樣的計(jì)算結(jié)果就是。注意第一次搜索不添加運(yùn)算符,只添加數(shù)字,就不會(huì)出現(xiàn)這種表達(dá)式了。 Expression Add Operators Given a string that contains only digits 0-9 and...
閱讀 2114·2021-11-18 10:02
閱讀 2863·2021-09-04 16:41
閱讀 1156·2019-08-30 15:55
閱讀 1420·2019-08-29 17:27
閱讀 1106·2019-08-29 17:12
閱讀 2539·2019-08-29 15:38
閱讀 2864·2019-08-29 13:02
閱讀 2841·2019-08-29 12:29