leetcode989 陣列形式的整數加法

2021-10-02 16:07:20 字數 1624 閱讀 5018

看到這道題剛開始我的解題思路是將整數k分解,並依次放入乙個新建好的陣列中,然後同給的陣列按位相加,標記進製。但是怎麼把整數k分解成乙個陣列難倒了我。

等以後有時間我會把我的這種方法寫出來 今晚實在不想動腦筋。

官方解題思路

**leetcode官方題解

這個官方解題思路真的是贊啊,一看到兩數相加當然想到按位相加,對10整除求出進製和對10求模求出對應位相加的結果。這個思路要積累。

我寫的**

```cpp

class solution

b.push_back(tempanswer%10);

tempanswer=tempanswer/10;

}reverse(b.begin(),b.end());

return b;}};

notes

這裡面兩個點需要注意!!!

第乙個就是while迴圈語句中的條件 要把臨時相加的答案大於 0而不是》=0

如果是大於等於0那這樣就會一直當加到給定整數k的最高位 由於得到的臨時相加答案永遠等於0 這樣將會導致while迴圈會一直迴圈下去,導致超出記憶體限制錯誤的產生。這是我提交**時出現過的問題!!1

第二個需要注意的問題就是 while迴圈判斷語句中 兩個迴圈條件是或的關係 所以只要其中乙個滿足就可以

所以還要加乙個if語句 來判斷陣列a的下標是否小於0,如果沒加這個條件,也會出現錯誤!!!

所以while迴圈條件真的很重要!!!缺一不可!!

tips

i-- 先用的是i之前的值 用完之前的值再對i進行減1操作。

昨天晚上想了好久 為什麼我寫的將整數轉換為陣列的程式就是不對呢,今天上午終於知道錯誤在**了嘿嘿嘿 ,但是執行速度是很慢的,所以還是要學習標準答案。話不多說,上**。

;用到的就是2兩數相加listnode的思想。剛開始執行錯誤的原因是因為我沒把進製加進去,這裡還溫習了乙個新的語法,就是像向量的任意位置插入元素。

LeetCode 989 陣列形式的整數加法

對於非負整數 x 而言,x 的陣列形式是每位數字按從左到右的順序形成的陣列。例如,如果 x 1231,那麼其陣列形式為 1,2,3,1 給定非負整數 x 的陣列形式 a,返回整數 x k 的陣列形式。示例 1 輸入 a 1,2,0,0 k 34 輸出 1,2,3,4 解釋 1200 34 1234 ...

leetcode 989 陣列形式的整數加法

989.陣列形式的整數加法 難度簡單61 對於非負整數x而言,x的陣列形式是每位數字按從左到右的順序形成的陣列。例如,如果x 1231,那麼其陣列形式為 1,2,3,1 給定非負整數x的陣列形式a,返回整數x k的陣列形式。示例 1 輸入 a 1,2,0,0 k 34輸出 1,2,3,4 解釋 12...

LeetCode 989 陣列形式的整數加法

對於非負整數 x 而言,x 的陣列形式是每位數字按從左到右的順序形成的陣列。例如,如果 x 1231,那麼其陣列形式為 1,2,3,1 給定非負整數 x 的陣列形式 a,返回整數 x k 的陣列形式。示例 1 輸入 a 1,2,0,0 k 34 輸出 1,2,3,4 解釋 1200 34 1234 ...