class Solution{
public:
vector<int> twoSum(vector<int>& nums, int target){
unordered_map<int, int> record;
for(int i=0;i<nums.size();i++)
{
int num = target - nums[i];
if(record.find(num)!=record.end())
{
return {record[num], i};
}
record[nums[i]] = i;
}
return {-1, -1}
}
}
class Solution{
public:
ListNode* dummy = new ListNode(0), *cur = dummy;
int sum = 0;
while(l1 || l2 || sum)
{
if(l1) sum += l1->val, l1 = l1->next;
if(l2) sum += l2->val, l2 = l2->next;
cur->next = new ListNode(sum%10);
cur = cur->next;
sum /= 10;
}
return dummy->next;
}