package main
import "fmt"
type ListNode struct {
Val int
Next *ListNode
}
func addTwoNumbers(l1 *ListNode, l2 *ListNode) *ListNode {
l3 := &ListNode{}
figure := 0
node1 := l1
node2 := l2
node3 := l3
flag := true
for flag || node1.Next != nil || node2.Next != nil || figure > 0 {
value := node1.Val + node2.Val + figure
fmt.Println(value)
node3.Val = (value) % 10
figure = (value) / 10
if node1.Next != nil || node2.Next != nil || figure > 0 {
node3.Next = &ListNode{}
node3 = node3.Next
} else {
flag = false
}
if node1.Next != nil {
node1 = node1.Next
} else {
node1 = &ListNode{}
}
if node2.Next != nil {
node2 = node2.Next
} else {
node2 = &ListNode{}
}
}
return l3
}
func main() {
l1 := &ListNode{8, nil}
//a1 := &ListNode{1,l1}
//b1 := &ListNode{3,a1}
//c1 := &ListNode{4,b1}
l2 := &ListNode{0, nil}
//a2 := &ListNode{1,l2}
//b2 := &ListNode{1,a2}
//c2 := &ListNode{1,b2}
fmt.Println(addTwoNumbers(l1, l2))
}
addTwoNumbers
最新推荐文章于 2024-09-27 16:58:06 发布
此博客展示了用Go语言实现两个链表数字相加的代码。定义了链表节点结构体,编写了addTwoNumbers函数处理相加逻辑,在main函数中创建链表节点并调用该函数进行计算,体现了链表操作和数值计算的结合。

2529

被折叠的 条评论
为什么被折叠?



