每日一题:leetcode989.数组形式的整数加法
生活随笔
收集整理的這篇文章主要介紹了
每日一题:leetcode989.数组形式的整数加法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
題目分析
題目非常簡單,但是我還是wa了幾發,對不起,我太菜了。我的想法是把K轉換為數組然后用大整數加法處理。但是因為太久沒有寫了導致寫了好久。
class Solution { public:void add(vector<int> &A, vector<int> &B) {int len_A = A.size();int len_B = B.size();for (int i = 0; i < len_B; ++i) {A[i] += B[i];if (i + 1 >= A.size() ) {A.push_back(0);}if (A[i] >= 10) {A[i+1] += 1;A[i] -= 10;}}if (len_B < len_A) {for (int i = len_B - 1; i < len_A; ++i) {if (i + 1 >= A.size() ) {A.push_back(0);}if (A[i] >= 10) {A[i+1] += 1;A[i] -= 10;}}}if (A[A.size() - 1] == 0) {A.pop_back();}}vector<int> addToArrayForm(vector<int>& A, int K) {vector<int> B;do {B.push_back(K%10);K/=10;} while(K);reverse(A.begin(), A.end());add(A, B);reverse(A.begin(), A.end());return A;} };然而題解的解法更加優雅明快,我還是有些局限自己的思路:
- 沒有必要把k先轉換為數組的形式,直接處理即可
- 在兩種情況需要處理差不多的代碼時活用短路運算符||往往有簡化代碼的效果
總結
以上是生活随笔為你收集整理的每日一题:leetcode989.数组形式的整数加法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 每日一题:leetcode1489. 找
- 下一篇: 每日一题:leetcode674.最长连