增加新题目
This commit is contained in:
65
链表/删除链表的倒数第N个结点/main.go
Normal file
65
链表/删除链表的倒数第N个结点/main.go
Normal file
@@ -0,0 +1,65 @@
|
||||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
type ListNode struct {
|
||||
Val int
|
||||
Next *ListNode
|
||||
}
|
||||
|
||||
func main() {
|
||||
|
||||
}
|
||||
func removeNthFromEnd(head *ListNode, n int) *ListNode {
|
||||
if head.Next == nil && n == 1 {
|
||||
return nil
|
||||
}
|
||||
firstNode := (*ListNode)(nil)
|
||||
result := (*ListNode)(nil)
|
||||
preNode := (*ListNode)(nil)
|
||||
for head != nil {
|
||||
fmt.Printf("1----")
|
||||
if preNode != nil {
|
||||
fmt.Printf("preNode:%d|", preNode.Val)
|
||||
if firstNode == nil {
|
||||
firstNode = preNode
|
||||
result = preNode
|
||||
} else {
|
||||
result.Next = preNode
|
||||
result = result.Next
|
||||
}
|
||||
}
|
||||
tmp := head
|
||||
tmp2 := &ListNode{Val: tmp.Val}
|
||||
value := 0
|
||||
for i := 0; i < n; i++ {
|
||||
if tmp.Next != nil {
|
||||
tmp = tmp.Next
|
||||
value++
|
||||
|
||||
} else {
|
||||
break
|
||||
}
|
||||
}
|
||||
fmt.Printf("%d", value)
|
||||
if value == n-1 {
|
||||
fmt.Printf("找到,")
|
||||
preNode = nil
|
||||
head = head.Next
|
||||
continue
|
||||
}
|
||||
preNode = tmp2
|
||||
head = head.Next
|
||||
}
|
||||
if preNode != nil {
|
||||
fmt.Printf("preNode:%d|", preNode.Val)
|
||||
if firstNode == nil {
|
||||
firstNode = preNode
|
||||
result = preNode
|
||||
} else {
|
||||
result.Next = preNode
|
||||
result = result.Next
|
||||
}
|
||||
}
|
||||
return firstNode
|
||||
}
|
||||
Reference in New Issue
Block a user