摘要:給定兩個二進制字符串,返回他們的和用二進制表示。返回的數值是以開頭,表明返回的數值是二進制函數用于將一個字符串或數字轉換為整型。指定為非十進制時,需以字符串形式傳入從第三個元素開始截取,忽略
(python、java)
Given two binary strings, return their sum (also a binary string).
The input strings are both non-empty and contains only characters 1 or 0.
給定兩個二進制字符串,返回他們的和(用二進制表示)。
輸入為非空字符串且只包含數字 1 和 0。
Example 1:
Input: a = "11", b = "1"
Output: "100"
Example 2:
Input: a = "1010", b = "1011"
Output: "10101"
解題思路(Java):
Java:由于Java語言不像 C/C++ ,Java字符串 String 不可變,比較字符串不能用 “=” ,”=“ 會比較字符串是否為同一個對象,而不是比較字符串內容是否相同。StringBuilder 可操作性較好,可用來記錄每一位數 相加后的最終值。
所以這道題輸入字符串可利用 chatAt() 方法(用于返回指定索引處的字符。索引范圍為從 0 到 length() - 1。)轉化為char字符,減去字符 ‘0’ ,得 int 型數值 0 或 1 ,分別與sum累加 。
java:
class Solution {
public String addBinary(String a, String b) { int i=a.length()-1,j=b.length()-1,tmp=0,sum; StringBuilder str=new StringBuilder(); while (i>=0||j>=0){ sum=tmp; if(i>=0) sum += a.charAt(i--)- "0"; if(j>=0) sum += b.charAt(j--)- "0"; tmp=sum/2;//tmp記錄是否進一位 str.append(sum%2);//sum%2得余數,即為該位 最終數字 } if(tmp!=0) str.append(tmp); return str.reverse().toString();//將 StringBuilder 所得倒置后即為答案,轉為 String返回 }
}
解題思路(python3):
python3明顯靈活很多:
bin()函數 -- 返回一個整數 int 或者長整數 long int 的二進制表示。
返回的數值是以0b開頭,表明返回的數值是二進制
int() 函數用于將一個字符串或數字轉換為整型。
class int(x, base=10)
x -- 字符串或數字。
base -- 進制數,默認十進制。(指定base為非十進制時,x 需以字符串形式傳入)
python3:
class Solution:
def addBinary(self, a: str, b: str) -> str: """ :type a: str :type b: str :return: str """ return bin(int(a,2)+int(b,2))[2:] #[2:]從第三個元素開始截取,忽略 0b
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/44136.html
摘要:給定兩個二進制字符串,返回他們的和用二進制表示。返回的數值是以開頭,表明返回的數值是二進制函數用于將一個字符串或數字轉換為整型。指定為非十進制時,需以字符串形式傳入從第三個元素開始截取,忽略 (python、java)Given two binary strings, return their sum (also a binary string).The input strings a...
摘要:題目要求將兩個二進制字符串相加結果以二進制字符串的形式返回要格外注意可能會在最高位存在進位想要了解更多開發技術,面試教程以及互聯網公司內推,歡迎關注我的微信公眾號將會不定期的發放福利哦 題目要求:將兩個二進制字符串相加結果以二進制字符串的形式返回要格外注意可能會在最高位存在進位 /** * @author rale * * Given two binary strings, r...
摘要:,,這道題就是求兩個表示為字符串形式的二進制數字的和。最初我的想法是直接對兩個字符串相對應的位進行直接運算,再用一個變量來表示進位,這里我選擇將較短的字符串前面用補位,以獲得兩個相同長度的字符串進行逐位運算。 Given two binary strings, return their sum (also a binary string).For example,a = 11,b = ...
摘要:月下半旬攻略道題,目前已攻略題。目前簡單難度攻略已經到題,所以后面會調整自己,在刷算法與數據結構的同時,攻略中等難度的題目。 Create by jsliang on 2019-07-30 16:15:37 Recently revised in 2019-07-30 17:04:20 7 月下半旬攻略 45 道題,目前已攻略 100 題。 一 目錄 不折騰的前端,和咸魚有什么區別...
摘要:在線網站地址我的微信公眾號完整題目列表從年月日起,每天更新一題,順序從易到難,目前已更新個題。這是項目地址歡迎一起交流學習。 這篇文章記錄我練習的 LeetCode 題目,語言 JavaScript。 在線網站:https://cattle.w3fun.com GitHub 地址:https://github.com/swpuLeo/ca...我的微信公眾號: showImg(htt...
閱讀 2857·2021-09-10 10:51
閱讀 2222·2021-09-02 15:21
閱讀 3214·2019-08-30 15:44
閱讀 882·2019-08-29 18:34
閱讀 1662·2019-08-29 13:15
閱讀 3331·2019-08-26 11:37
閱讀 2706·2019-08-26 10:46
閱讀 1118·2019-08-26 10:26