golang中怎么利用leetcode 实现链表求和
发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,本篇文章为大家展示了golang中怎么利用leetcode 实现链表求和,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。给定两个用链表表示的整数,每个节点包含一
千家信息网最后更新 2024年11月17日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安全错误
数据库的锁怎样保障安全
香港dns服务器
数据库sc表如何创建
长春专科计算机网络技术排名
我的世界服务器save指令
阿里云服务器防护关闭
mc服务器新玩家
搜索儿童网络安全图片
东莞佳懿网络技术有限公司
装备交易的软件开发
appld无法连接服务器
上海储物柜软件开发
河南网络安全测评公司
网络安全与犯罪ppt
数据库exec是啥
网络安全设备主要有什么和什么
导航条设计软件开发
ajax获取服务器数据
温州市网络安全宣传周答案
100t容量存储服务器价格
打电话总显示服务器错误
tftoce是哪个服务器
快快我的世界服务器
枪战王者普通巴雷特配什么服务器
网络安全周是什么意思
服务器多人使用
普通电脑装服务器共享文件
win7可以作为个人服务器吗
河南服务器搭建云空间
网络安全选题背景及意义
服务器r230怎么进去bios