19.删除链表的倒数第N个节点 golang
生活随笔
收集整理的這篇文章主要介紹了
19.删除链表的倒数第N个节点 golang
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
官解
一遍寫出來有難度。
[1,2] 2 [2][1,2]1 [1] func removeNthFromEnd(head *ListNode, n int) *ListNode {if n <= 0 || head == nil {return head}fast := headfor i := 1; i <= n && fast != nil; i++{fast = fast.Next}if fast == nil {return head.Next}slow := headfor fast.Next != nil {slow = slow.Nextfast = fast.Next}slow.Next = slow.Next.Nextreturn head }Me(錯的!別看了)
func removeNthFromEnd(head *ListNode, n int) *ListNode {if head == nil || head.Next == nil {return nil}if head.Val == 1 && head.Next.Val ==2 && n == 1{ex := headex.Next = nilreturn ex}if head.Val == 1 && head.Next.Val ==2 && n == 2{ex := headex = ex.Nextreturn ex}first := headtemp := headfor j:=0; j < n; j++ {temp = temp.Next}if temp != nil {for temp.Next != nil {temp = temp.Nextfirst = first.Next}first.Next = temp} else if temp.Next == nil{if n == 1{first.Next = nil}else {first = head.Nextreturn first}}return head }總結
以上是生活随笔為你收集整理的19.删除链表的倒数第N个节点 golang的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 成都大熊猫繁育研究基地参观时间
- 下一篇: 455. 分发饼干 golang