请选择 进入手机版 | 继续访问电脑版
搜索
房产
装修
汽车
婚嫁
健康
理财
旅游
美食
跳蚤
二手房
租房
招聘
二手车
教育
茶座
我要买房
买东西
装修家居
交友
职场
生活
网购
亲子
情感
龙城车友
找美食
谈婚论嫁
美女
兴趣
八卦
宠物
手机

两数之和——链表

[复制链接]
查看: 50|回复: 0

3万

主题

3万

帖子

9万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
92765
发表于 2020-2-15 02:32 | 显示全部楼层 |阅读模式
题目

给出两个 非空 的链表用来表现两个非负的整数。其中,它们各自的位数是依照 逆序 的方式存储的,而且它们的每个节点只能存储 一位 数字。
假如,我们将这两个数相加起来,则会返回一个新的链表来表现它们的和。
您可以假定除了数字 0 之外,这两个数都不会以 0 开首。
示例:
输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
输出:7 -> 0 -> 8
原因原由:342 + 465 = 807
根源:力扣(LeetCode)
代码
  1. /** * 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* cur=new ListNode(0);        ListNode* pre=cur;        int up=0;        while(l1!=NULL||l2!=NULL)        {            int x=l1==NULL?0:l1->val;            int y=l2==NULL?0:l2->val;            int sum=x+y+up;            up=sum>=10?1:0;            sum=sum-up*10;            cur->next=new ListNode(0);            cur->next->val=sum;            cur=cur->next;            if(l1!=NULL)            {                l1=l1->next;            }            if(l2!=NULL)            {                l2=l2->next;            }        }         if(up!=0)        {            cur->next=new ListNode(up);        }        return pre->next;    }};
复制代码
免责声明:假如加害了您的权益,请联系站长,我们会实时删除侵权内容,感谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2006-2014 WAYSFOCUS 影像 你 我 他,中国商业影视一站式解决平台 版权所有 法律顾问:高律师 客服电话:0791-88289918
技术支持:迪恩网络科技公司  Powered by Discuz! X3.2
快速回复 返回顶部 返回列表