LeetCode [1-2つの数値の合計] LeetCode [2-2つの数値の加算]

2つの数値の合計

タイトルの説明

整数配列numsとターゲット値targetを指定して、合計が配列内のターゲット値である2つの整数を見つけ、それらの配列インデックスを返します。
各入力は1つの回答にのみ対応すると想定できます。ただし、この配列で同じ要素を再利用することはできません。
ここに画像の説明を挿入

問題解決のアイデア

直接ダブルループトラバーサル、脳なし

コードの実装

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        vector<int>res;
        for(int i = 0; i<nums.size();++i)
        {
            for(int j = i+1;j<nums.size();++j)
            {
                if(nums[i]+nums[j] == target)
                {
                    res.push_back(i);
                    res.push_back(j);
                }
            }
        }
        return res;
    }
};

2つの数値を加算

タイトルの説明

空でない2つのリンクされたリストは、2つの負でない整数を表すために指定されていますそれらの中で、それぞれの数字は逆の順序格納され、それらのノードのそれぞれは1つの数字のみを格納できます。
これら2つの数値を加算すると、それらの合計を表す新しいリンクリストが返されます。
数字の0を除いて、これらの数字のどちらも0で始まらないと想定できます。
ここに画像の説明を挿入

問題解決のアイデア

出力結果はリンクリストの逆の順序であるため、2つのリンクリストの各ビットに新しいリンクリストのノードとして番号を追加し、チェーンを継続的に吊るすだけで済みます。

コードの実装

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
        ListNode* newHead = new ListNode(-1); //新链表
        ListNode* Cur = newHead;
        int sum = 0; //每一位上面的和
        bool carry = false; //进位标志
        while(l1!=NULL || l2!=NULL)
        {
            sum = 0;
            if(l1!=NULL)
            {
                sum+=l1->val;
                l1=l1->next;
            }
            if(l2!=NULL)
            {
                sum+=l2->val;
                l2= l2->next;
            }
            if(carry)
            {
                sum+=1;
            }
            Cur -> next = new ListNode(sum%10);
            carry = sum>=10? true:false;
            Cur = Cur->next;
            
        }
        if(carry)
        {
            Cur->next = new ListNode(1);
        }
        //没有头节点,返回头结点的下一个结点
        return newHead->next;
    }
};
253件の元の記事を公開しました 賞賛されました41 40,000回以上の閲覧

おすすめ

転載: blog.csdn.net/liuyuchen282828/article/details/104522213