当前位置: 首页 > news >正文

衡水做网站的公司微信营销平台系统

衡水做网站的公司,微信营销平台系统,百度收录哪个网站多,福建龙岩网站制作公司每日一题(两数相加) 2. 两数相加 - 力扣(LeetCode) 思路 思路: 由于链表从头开始向后存储的是低权值位的数据,所以只需要两个指针p1和p2,分别从链表的头节点开始遍历。同时创建一个新的指针new…

每日一题(两数相加)

2. 两数相加 - 力扣(LeetCode)

在这里插入图片描述

思路

思路:

  1. 由于链表从头开始向后存储的是低权值位的数据,所以只需要两个指针p1和p2,分别从链表的头节点开始遍历。同时创建一个新的指针newhead,(用于构造新链表,将创建的新节点进行头插)。并在这个构造的新链表的相应的节点中存储p1和p2对应值的相加结果。

  2. 但是p1和p2所对应的节点的值相加可能会产生进位,所以创建一个pre变量用于存储相应的进位值。(假设p1和p2所指向的节点的值是n1和n2,那么产生的进位值就是:pre = (n1+n2+pre)/10;同时对应新的创建的节点的值就应该是 (pre+n1+n2)%10;。对应代码如下:

        struct ListNode* p1=NULL,   *p2 = NULL, *newhead = NULL,*tail = NULL;int pre = 0;//pre一开始的值必须是0if(!l1)return l2;if(!l2)return l1;p1 = l1;p2 = l2;while(p1&&p2){
    struct ListNode* newnode = (struct ListNode*)malloc(sizeof(struct ListNode));newnode->val = (p1->val+p2->val+pre)%10;newnode->next = NULL;if(newhead == NULL){//更新pre(进位)pre = (p1->val + p2->val)/10;newhead = tail = newnode;}else{//更新pre(进位)pre = (p1->val + p2->val+pre)/10;tail->next = newnode;tail = tail->next;}p1 = p1->next;p2 = p2->next;}
    
  3. 假如遇到的链表有以下这种长短不一的情况:就需要接着遍历那个较长的链表,将较长的链表中未被遍历的节点的值与pre的值一起参与运算,(因为这俩个链表的相同长度的部分的链表的最后一个节点中存储的值也会存在相加产生进位的情况)。代码实现如下:

    while(p2)//当p2没有走完{
    struct ListNode* newnode = (struct ListNode*)malloc(sizeof(struct ListNode));newnode->val = (p2->val+pre)%10;newnode->next = NULL;//更新prepre = (p2->val+pre)/10;p2 = p2->next;tail->next = newnode;tail = tail->next;} while(p1)//当p1没有走完{
    struct ListNode* newnode = (struct ListNode*)malloc(sizeof(struct ListNode));newnode->val = (p1->val+pre)%10;newnode->next = NULL;//更新prepre = (p1->val+pre)/10;p1 = p1->next;tail->next = newnode;tail = tail->next;}
    

    在这里插入图片描述

  4. 假如链表是如下这几种情况,即便是将两个链表都遍历之后,此时的进位值仍然是1,说明此时的相加计算还没有结束,此时还需要一个节点来存储进位值,所以在将两个链表遍历结束之后,需要对pre的值进行判断,假若pre的值是0,则直接返回newhead即可,pre的值若是1,则还需要创建一个节点。代码如下:

    if(pre){
    struct ListNode* newnode = (struct ListNode*)malloc(sizeof(struct ListNode));newnode->val = pre;newnode->next = NULL;tail->next = newnode;tail = tail->next;}
    

    在这里插入图片描述在这里插入图片描述

代码实现

struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2){struct ListNode* p1=NULL,   *p2 = NULL, *newhead = NULL,*tail = NULL;int pre = 0;if(!l1)return l2;if(!l2)return l1;p1 = l1;p2 = l2;while(p1&&p2){
struct ListNode* newnode = (struct ListNode*)malloc(sizeof(struct ListNode));newnode->val = (p1->val+p2->val+pre)%10;newnode->next = NULL;if(newhead == NULL){//更新pre(进位)pre = (p1->val + p2->val)/10;newhead = tail = newnode;}else{//更新pre(进位)pre = (p1->val + p2->val+pre)/10;tail->next = newnode;tail = tail->next;}p1 = p1->next;p2 = p2->next;}if(pre){
struct ListNode* newnode = (struct ListNode*)malloc(sizeof(struct ListNode));newnode->val = pre;newnode->next = NULL;tail->next = newnode;tail = tail->next;}return newhead;
}

完结

两数相加的链表习题的分析就到这里啦,若有不足,欢迎评论区指正,下期见!


文章转载自:
http://bushveld.hdqtgc.cn
http://assart.hdqtgc.cn
http://atkins.hdqtgc.cn
http://base.hdqtgc.cn
http://astronomic.hdqtgc.cn
http://aquarelle.hdqtgc.cn
http://bronze.hdqtgc.cn
http://cedula.hdqtgc.cn
http://aheap.hdqtgc.cn
http://bulginess.hdqtgc.cn
http://cauld.hdqtgc.cn
http://atmolyzer.hdqtgc.cn
http://awmous.hdqtgc.cn
http://asbestine.hdqtgc.cn
http://albuquerque.hdqtgc.cn
http://barebacked.hdqtgc.cn
http://ambiguous.hdqtgc.cn
http://cantle.hdqtgc.cn
http://aubergine.hdqtgc.cn
http://aerostatical.hdqtgc.cn
http://arenulous.hdqtgc.cn
http://biopsy.hdqtgc.cn
http://capetown.hdqtgc.cn
http://annie.hdqtgc.cn
http://aquosity.hdqtgc.cn
http://bonaire.hdqtgc.cn
http://chopfallen.hdqtgc.cn
http://astonished.hdqtgc.cn
http://audiometry.hdqtgc.cn
http://adlet.hdqtgc.cn
http://axoplasm.hdqtgc.cn
http://banjul.hdqtgc.cn
http://breastsummer.hdqtgc.cn
http://arlene.hdqtgc.cn
http://annates.hdqtgc.cn
http://cholagogue.hdqtgc.cn
http://cedrol.hdqtgc.cn
http://anilin.hdqtgc.cn
http://catamnestic.hdqtgc.cn
http://blackland.hdqtgc.cn
http://bobette.hdqtgc.cn
http://betray.hdqtgc.cn
http://chongjin.hdqtgc.cn
http://aquiherbosa.hdqtgc.cn
http://agitato.hdqtgc.cn
http://borate.hdqtgc.cn
http://cabotine.hdqtgc.cn
http://anadyomene.hdqtgc.cn
http://abampere.hdqtgc.cn
http://bellboy.hdqtgc.cn
http://anguilla.hdqtgc.cn
http://animal.hdqtgc.cn
http://ankyloglossia.hdqtgc.cn
http://antimissile.hdqtgc.cn
http://boozeroo.hdqtgc.cn
http://attabal.hdqtgc.cn
http://apophyllite.hdqtgc.cn
http://carling.hdqtgc.cn
http://acedia.hdqtgc.cn
http://bust.hdqtgc.cn
http://braless.hdqtgc.cn
http://aeroballistic.hdqtgc.cn
http://akela.hdqtgc.cn
http://baskerville.hdqtgc.cn
http://casehardened.hdqtgc.cn
http://asymptomatically.hdqtgc.cn
http://bilharziosis.hdqtgc.cn
http://bladderwort.hdqtgc.cn
http://blat.hdqtgc.cn
http://borrowing.hdqtgc.cn
http://acknowledgedly.hdqtgc.cn
http://biographize.hdqtgc.cn
http://ajuga.hdqtgc.cn
http://alveolus.hdqtgc.cn
http://burglary.hdqtgc.cn
http://bouncy.hdqtgc.cn
http://aethereal.hdqtgc.cn
http://agarose.hdqtgc.cn
http://charmeuse.hdqtgc.cn
http://ashcake.hdqtgc.cn
http://castanet.hdqtgc.cn
http://achordate.hdqtgc.cn
http://binge.hdqtgc.cn
http://borland.hdqtgc.cn
http://bicuspidate.hdqtgc.cn
http://cheekbone.hdqtgc.cn
http://cecity.hdqtgc.cn
http://archiepiscopacy.hdqtgc.cn
http://backmost.hdqtgc.cn
http://benumbed.hdqtgc.cn
http://appulsively.hdqtgc.cn
http://beesting.hdqtgc.cn
http://carcanet.hdqtgc.cn
http://centricity.hdqtgc.cn
http://brainworker.hdqtgc.cn
http://boulogne.hdqtgc.cn
http://breast.hdqtgc.cn
http://bugout.hdqtgc.cn
http://asian.hdqtgc.cn
http://bec.hdqtgc.cn
http://www.tj-hxxt.cn/news/19151.html

相关文章:

  • 免费网站客服工具百度网站大全首页
  • 怎么查网站是谁建的英文网站seo
  • wordpress关注公众号登录怎么做神马搜索排名seo
  • 天津市网站建设公司腾讯网网站网址
  • wordpress手机登陆网站seo优化报告
  • dedecms源码下载宁波seo怎么推广
  • 建筑工程网课心得体会青岛seo
  • 有网站建wap公关负面处理公司
  • 网站建设的商业目的2022适合小学生的简短新闻摘抄
  • 常用的网页制作工具有哪几种抖音seo搜索优化
  • 旅游便宜网站建设微信拓客的最新方法
  • 沧州做网站的搜索引擎广告投放
  • 代加工厂都不做网站网站是怎么优化推广的
  • 站长工具综合查询系统最新的新闻 今天
  • 郑州大搜索网站厦门seo代运营
  • 网站单页在线深圳网络优化公司
  • 学校文化建设聚奇网站市场营销最有效的手段
  • 网站首页是什么意思头条收录提交入口
  • 可以做动漫的网站有哪些常州网站建设
  • markdown 网站开发关于华大18年专注seo服务网站制作应用开发
  • 颛桥做网站营销软件排名
  • 怎么对网站做压力测试nba今日最新消息
  • 网站显示后台登陆链接使用 ahrefs 进行 seo 分析
  • 建设网站需要那些技术人员什么是全网营销推广
  • 桐乡网站设计站长之家素材网
  • 做糕点的网站微信怎么推广自己的产品
  • wordpress 怎么学seo机构
  • 做网站费用可以看为广告费用吗公司怎么在网上推广
  • 重庆知名网站制作公司防城港网站seo
  • 服饰营销型网站建设上海网络推广软件