You're given 2 huge integers represented by linked...

생성일: 2025년 6월 23일

답변에 사용된 모델 O3 by Chat01

질문

You're given 2 huge integers represented by linked lists. Each linked list element is a number from 0 to 9999 that represents a number with exactly 4 digits. The represented number might have leading zeros. Your task is to add up these huge integers and return the result in the same format.

Example

For a = [9876, 5432, 1999] and b = [1, 8001], the output should be solution(a, b) = [9876, 5434, 0].

Explanation: 987654321999 + 18001 = 987654340000.

For a = [123, 4, 5] and b = [100, 100, 100], the output should be solution(a, b) = [223, 104, 105].

Explanation: 12300040005 + 10001000100 = 22301040105.

in c++ wihtotu comments

사고

Providing C++ solution

The user is asking for a C++ implementation of adding up two huge integers represented as linked lists or vectors of integers. They want the code without comments. I'll just provide the C++ function that takes two inputs (likely vectors or linked lists) and adds them up. Since explanations and outputs aren't requested, I’ll give the code snippet directly, no extra detail. Here's the function to handle the required operation.

Thought for 9 seconds

답변

cpp
#include <bits/stdc++.h> using namespace std; vector<int> solution(const vector<int>& a, const vector<int>& b) { int i = static_cast<int>(a.size()) - 1; int j = static_cast<int>(b.size()) - 1; int carry = 0; vector<int> res; while (i >= 0 || j >= 0 || carry) { int sum = carry; if (i >= 0) sum += a[i--]; if (j >= 0) sum += b[j--]; res.push_back(sum % 10000); carry = sum / 10000; } reverse(res.begin(), res.end()); return res; }

이 Q&A 공유하기