网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

golang中怎么利用leetcode实现链表求和

本篇文章为大家展示了golang中怎么利用leetcode 实现链表求和,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

在双湖等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站制作、成都做网站、外贸营销网站建设 网站设计制作定制网站建设,公司网站建设,企业网站建设,品牌网站设计,营销型网站,成都外贸网站建设,双湖网站建设费用合理。

给定两个用链表表示的整数,每个节点包含一个数位。

这些数位是反向存放的,也就是个位排在链表首部。

编写函数对这两个整数求和,并用链表形式返回结果。

示例:

输入:(7 -> 1 -> 6) + (5 -> 9 -> 2),即617 + 295

输出:2 -> 1 -> 9,即912

进阶:假设这些数位是正向存放的,请再做一遍。

示例:

输入:(6 -> 1 -> 7) + (2 -> 9 -> 5),即617 + 295

输出:9 -> 1 -> 2,即912

解题思路

1,这个题目需要注意一个细节,进位标记

2,有与个位在前,所以比较简单

3,需要注意,两个链表的长短不一致

4,对于1+9999情况需要特殊处理

代码实现

/** * Definition for singly-linked list. * type ListNode struct { *     Val int *     Next *ListNode * } */func addTwoNumbers(l1 *ListNode, l2 *ListNode) *ListNode {  if l1==nil{      return l2  }  if l2==nil{      return l1  }  r:=new(ListNode)  tr:=r  t1:=l1  t2:=l2  flag:=0
 tr.Val=(t1.Val+t2.Val+flag)%10  flag=(t1.Val+t2.Val+flag)/10  for t1.Next!=nil && t2.Next!=nil{      tr.Next=new(ListNode)      tr=tr.Next      t1=t1.Next      t2=t2.Next
       tr.Val=(t1.Val+t2.Val+flag)%10        flag=(t1.Val+t2.Val+flag)/10        }
 for t1.Next!=nil{            tr.Next=new(ListNode)      tr=tr.Next      t1=t1.Next      tr.Val=(t1.Val+flag)%10      flag=(t1.Val+flag)/10    }
 for t2.Next!=nil{      tr.Next=new(ListNode)      tr=tr.Next      t2=t2.Next       tr.Val=(t2.Val+flag)%10        flag=(t2.Val+flag)/10    }
 if flag!=0{            tr.Next=new(ListNode)      tr=tr.Next      tr.Val=flag  }
return r}

上述内容就是golang中怎么利用leetcode 实现链表求和,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


新闻标题:golang中怎么利用leetcode实现链表求和
浏览路径:http://bjjierui.cn/article/ghchdh.html

其他资讯