刪除單鏈表,你會嗎?

2021-10-01 14:10:47 字數 2286 閱讀 1455

刪除單鏈表中值等於***的所有元素

不經意間看到了乙個不同尋常的實現方法,覺得挺有意思,於是自己實現了一下,**真的是簡單明瞭跑得還賊快!

好,現在先在腦海中想想,你會怎麼實現?這麼簡單,5秒鐘後,你想到了解決方案,於是你決定驗證你的思路,請繼續往下看

定義鍊錶節點結構如下:

type listnode struct

1:最常見思路

定義乙個儲存上個節點的變數prev,當發現當前節點cur的值等於目標值,就將prev.next = cur.next,一直迴圈下去,跳過節點值等於目標值的所有節點,即刪除了所有值等***的節點,golang**實現如下:

func removenodenormal(head *listnode, value int) *listnode  

else

} else

}return

head

}

這麼簡單,我就不做任何說明了,後面會附上完整**和簡單的單測

你的思路是這樣的嗎?

if 是 ||!不是

2:第二常見思路

func removenodereplace(head *listnode, value int) *listnode 

cur.value =cur.next.value

cur.next =cur.next.next

}for cur !=nil

else

}return

head

}

3:linus喜歡的**

linus說**應該這樣寫,我就不做任何說明了,你品,你細品!!

func removenode(head *listnode, value int) *listnode  

else

}return

head

}

完整**如下,你可以跑著試一下: 

package main

import (

"fmt")

type listnode

struct

func removenodenormal(head *listnode, value int) *listnode

else

} else

}return

head

}func removenodereplace(head *listnode, value int) *listnode

cur.value =cur.next.value

cur.next =cur.next.next

}for cur !=nil

else

}return

head

}func removenode(head *listnode, value int) *listnode

else

}return

head

}func arraytolink(nums

int) *listnode

head := &listnode

tail :=head

for i := 1; i < len(nums); i++

tail =tail.next

}return

head

}func linktoarray(head *listnode) int

return

array

}func arrayequal(nums1, nums2

int) bool

for i := 0; i < len(nums1); i++

}return

true

}func main() ,

1,int{},},,

1,int{},},,

1,int,},,

2,int,},,

1,int,},,

2,int,},,

3,int,},,

4,int,},}

for _, test :=range tests

}

如果你對演算法感興趣,可以看看我刷的leetcode: (求讚)

如果你對演算法感興趣,可以看看我刷的leetcode: (求讚)

如果你對演算法感興趣,可以看看我刷的leetcode: (求讚)

刪除單鏈表,你會嗎?

刪除單鏈表中值等於 的所有元素 不經意間看到了乙個不同尋常的實現方法,覺得挺有意思,於是自己實現了一下,真的是簡單明瞭跑得還賊快!好,現在先在腦海中想想,你會怎麼實現?這麼簡單,5秒鐘後,你想到了解決方案,於是你決定驗證你的思路,請繼續往下看 定義鍊錶節點結構如下 type listnode str...

你會跑步嗎?

跑步應該是每個人與生俱來的本領,除了嬰兒和有腿疾的人,誰都可以邁開腿跑起來。跑步也是最容易開展起來的運動,只要有一雙跑鞋,不拘泥於場地,就可以進行,甚至有些 赤腳大仙 光著腳丫就可以跑起來。然而,你會跑步嗎?不知道你有沒有聽過一句話 跑步百利唯傷膝。在我的周圍,也有不少的人對我說,不要跑步,跑多了,...

你會休息嗎

為什麼你睡了11個小時仍然覺得疲累?為什麼你花了好幾萬去島國度假並沒有增加生活的熱情?都說要去ktv,去夜店,去遊樂園就能忘掉不快,更帶勁地開始新的一天,但是盡興歸來心裡只剩空虛?我們真的明白休息的含義嗎?我們休息對了嗎?你理解的休息是什麼?乙個飽覺?一陣瘋玩?到ktv釋放飯後的一串飽嗝?休息的真正...