golang中怎么利用leetcode 实现链表求和
发表于:2024-11-16 作者:千家信息网编辑
千家信息网最后更新 2024年11月16日,本篇文章为大家展示了golang中怎么利用leetcode 实现链表求和,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。给定两个用链表表示的整数,每个节点包含一
千家信息网最后更新 2024年11月16日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安全错误
数据库的锁怎样保障安全
关于宣传网络安全的黑板报
海西州网络安全案例
计算机三级网络技术怎么背题
网络安全训练营20讲
华为服务器系统密码忘记
网络安全人画
迪士尼头像软件开发
软件开发培训学校赘婿
dns服务器流量
白话网络安全 pdf
行业网络安全自查总结报告
sysbas数据库转sql
软件开发公司用电量如何估算
wds部署服务器
软件开发常用的任务分解工具
以下哪个对象不属于数据库对象
厦门网络安全特训营朝阳行业
出版物查重数据库
福建智能化软件开发特点
服务器1p代表什么意思
关于网络安全有关的公司简介
上海归虹网络技术有限公司地址
水晶报表无法登陆数据库
软件开发工程师等级薪资
软件开发服务投标文件范本
阿里云服务器的优势
湖南新一代软件开发品质保障
重庆移动软件开发哪家好
大同互联网科技
软件开发研究生毕业薪水