67 Add Binary(第十七周)

2021-08-14 10:39:18 字數 1024 閱讀 8561

add binary - leetcode

given two binary strings, return their sum (also a binary string).

for example,

a ="11"

b ="1"

return"100".

只需要模擬我們正常手算二進位制加法的過程即可。首先是確定輸出的長度,這個可以由兩個輸入字串中最長的長度來確定。

然後由於已經獲得兩個輸入串的長度,所以可以從兩個串的末尾開始遍歷,知道兩個遍歷的量都變為0。

注意的是,當乙個字串已經被遍歷完,但另外乙個還在遍歷的時候,我們應該用0代替遍歷完的字串應該有的值。

然後就是進製的問題,計算過程中可能會出現[2, 3]的結果,所以需要用結果是否大於1來判斷而不是結果是否等於2來判斷。

如果最後的進製標記還是true的話,我們要在最終得到的字串結果前面新增乙個"1"

具體**如下:

class solution 

else

if (b.empty())

string ret(max(i,j) + 1, '0');

bool carry(false);

while (i >= 0 || j >= 0)

else

int curj(0);

if (j >= 0)

else

int cur(curi + curj + carry);

ret[max(i,j) + 1] = (cur % 2) + '0';

if (cur > 1)

else

}if (carry)

return ret;

}};

第十七周總結

周工作總結及計畫表 部 門 理工大學 姓 名 冉濤 入 職 時 間 2015.7.5 本週已完成工作內容及總結 1 基本完成課程設計要求的三道題目,但還有一些小地方沒有做好,主要是在一些異常處理方面,主要是從控制台輸入時的型別轉換異常,以及gui介面的輸入為空的異常和型別轉換異常。2 課程設計的第四...

第十七周總結

本週主要學習了spring框架和mybatis框架,接觸到框架後最大的感觸就是原來 編寫可以變得如此簡便,之前複雜的編寫過程被簡化了許多,專案的開發效率自然也得到極大提公升。感覺在spring的學習中最大的困難是對這種框架模式的理解,學了一天到最後也不知道spring到底是什麼,可以用來幹什麼,怎麼...

第十七周專案1

檔名稱 test.cpp 完成日期 2014年12月21日 版本號 v1.0 問題描述 閱讀下面的程式,寫出期望中的執行結果。上機執行對照,並用單步執行的方法再次體會,完全掌握用指標和引用作為形式引數的用法。輸入描述 略 程式輸出 略 include using namespace std void...