增加新题目

This commit is contained in:
JACKYMYPERSON
2025-08-24 04:20:11 +08:00
parent b2e4a26c09
commit e1546166a3
4 changed files with 246 additions and 38 deletions

View File

@@ -1,5 +1,9 @@
package main
import (
"fmt"
)
type ListNode struct {
Val int
Next *ListNode
@@ -8,6 +12,77 @@ type ListNode struct {
func main() {
}
func addTwoNumbers(l1 *ListNode, l2 *ListNode) *ListNode {
signal := false
tmpstr := ""
firstNode := (*ListNode)(nil)
result := (*ListNode)(nil)
value1 := 0
for l1 != nil || l2 != nil {
//
tmpNode := &ListNode{}
a := 0
if signal {
a = 1
}
if l1 == nil {
value := l2.Val
if value+a > 9 {
signal = true
} else {
signal = false
}
tmpNode.Val = (value + a) % 10
result.Next = tmpNode
result = result.Next
l2 = l2.Next
continue
}
if l2 == nil {
value := l1.Val
if value+a > 9 {
signal = true
} else {
signal = false
}
fmt.Println("l2==nil")
tmpNode.Val = (value + a) % 10
result.Next = tmpNode
result = result.Next
l1 = l1.Next
continue
}
value := l1.Val + l2.Val
if value+a > 9 {
signal = true
} else {
signal = false
}
tmpNode.Val = (value + a) % 10
if value1 == 0 {
firstNode = tmpNode
result = tmpNode
value1 = 1
l1 = l1.Next
l2 = l2.Next
continue
}
result.Next = tmpNode
result = result.Next
l1 = l1.Next
l2 = l2.Next
}
if signal {
tmpNode := &ListNode{}
tmpNode.Val = 1
result.Next = tmpNode
result = result.Next
}
fmt.Println(tmpstr)
return firstNode
}
//func addTwoNumbers(l1 *ListNode, l2 *ListNode) *ListNode {
// var str1 string
@@ -62,41 +137,41 @@ func main() {
// return num
//}
func addTwoNumbers(l1 *ListNode, l2 *ListNode) *ListNode {
firstNode := (*ListNode)(nil)
result := (*ListNode)(nil)
value := 0
for l1 != nil || l2 != nil {
tmpNode := &ListNode{}
if l1 == nil {
tmpNode.Val = l2.Val
result.Next = tmpNode
result = result.Next
l2 = l2.Next
continue
} else if l2 == nil {
tmpNode.Val = l1.Val
result.Next = tmpNode
result = result.Next
l1 = l1.Next
continue
}
tmpNode.Val = l1.Val + l2.Val
if value == 0 {
firstNode = tmpNode
result = tmpNode
l1 = l1.Next
l2 = l2.Next
value++
continue
}
result.Next = tmpNode
result = result.Next
l1 = l1.Next
l2 = l2.Next
}
return firstNode
}
//func addTwoNumbers(l1 *ListNode, l2 *ListNode) *ListNode {
// firstNode := (*ListNode)(nil)
// result := (*ListNode)(nil)
// value := 0
//
// for l1 != nil || l2 != nil {
// tmpNode := &ListNode{}
// if l1 == nil {
// tmpNode.Val = l2.Val
// result.Next = tmpNode
// result = result.Next
// l2 = l2.Next
// continue
// } else if l2 == nil {
// tmpNode.Val = l1.Val
// result.Next = tmpNode
// result = result.Next
// l1 = l1.Next
// continue
// }
// tmpNode.Val = l1.Val + l2.Val
// if value == 0 {
// firstNode = tmpNode
// result = tmpNode
// l1 = l1.Next
// l2 = l2.Next
// value++
// continue
// }
// result.Next = tmpNode
// result = result.Next
// l1 = l1.Next
// l2 = l2.Next
//
// }
//
// return firstNode
//}