golang中怎么利用leetcode 实现链表求和
发表于:2025-01-27 作者:千家信息网编辑
千家信息网最后更新 2025年01月27日,本篇文章为大家展示了golang中怎么利用leetcode 实现链表求和,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。给定两个用链表表示的整数,每个节点包含一
千家信息网最后更新 2025年01月27日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)
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)
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)
flag=(t1.Val+flag)/10
}
for t2.Next!=nil{
tr.Next=new(ListNode)
tr=tr.Next
t2=t2.Next
tr.Val=(t2.Val+flag)
flag=(t2.Val+flag)/10
}
if flag!=0{
tr.Next=new(ListNode)
tr=tr.Next
tr.Val=flag
}
return r
}
上述内容就是golang中怎么利用leetcode 实现链表求和,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
两个
数位
个位
内容
技能
整数
知识
示例
输入
输出
特殊
简明
一致
简明扼要
也就是
代码
函数
就是
形式
思路
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
gdb数据库文件问题
软件开发税率多少钱
网络技术应用页眉
我的勇者所有的服务器名称
网络安全保卫局官在什么地方
部队网络安全宣传短句十个字
青岛迅搜网络技术
javaweb怎么建立服务器
视图在关系数据库中的作用
腾讯云服务器备份
网络安全管理平台短信
配套应用软件开发能力证明
华为交换机服务器链路集合
支付软件开发费会议记录
网络安全新技术2016
数据库考试常用掩码
软件开发商需要什么证件
大行动连接服务器失败
火鸟数据库热备
佰威网络技术有限公司长沙
修改域控服务器时间命令
应用软件的数据库文件
天津虚拟主机推荐云服务器
叮咚在线网络技术有限公司
武汉微信软件开发服务费
数据库中 遍历的语句
北京云数据库费用多少钱
以下四种软件开发模型
期刊数据库是什么级别
通许软件开发