代碼如下?
/**
?*?Definition?for?singly-linked?list.
?*?type?ListNode?struct?{
?*?????Val?int
?*?????Next?*ListNode
?*?}
?*/
func?removeElements(head?*ListNode,?val?int)?*ListNode?{
?????????????prehead?:=?&ListNode{}? ?//設(shè)置一個虛擬頭結(jié)點(diǎn)?
????????
?????????????prehead.Next?=?head? ? ? //虛擬頭結(jié)點(diǎn)指向頭結(jié)點(diǎn)?
?????????????cur?:=?prehead? ?//設(shè)置遍歷指針
?????????????for?cur?!=?nil?&&?cur.Next?!=?nil??{ //遍歷的終止條件,如果當(dāng)前節(jié)點(diǎn)為空,或者當(dāng)前節(jié)點(diǎn)為尾結(jié)點(diǎn)?
?????????????????if?cur.Next.Val?==?val?{? //如果下一個節(jié)點(diǎn)的值等于目標(biāo)值,則需要刪除下一個節(jié)點(diǎn),下一個節(jié)點(diǎn)則為刪除的目標(biāo)節(jié)點(diǎn)。
????????????????????cur.Next?=?cur.Next.Next? //所以需要將目標(biāo)節(jié)點(diǎn)指向的下一個節(jié)點(diǎn)的指針賦給當(dāng)前指針指向目標(biāo)節(jié)點(diǎn)的指針?
?????????????????}else?{
?????????????????????cur?=?cur.Next //如果不是目標(biāo)值,節(jié)點(diǎn)向后移動??
?????????????????}
?????????????}
?????????????newhead?:=?prehead.Next?
?????????????return?newhead?文章來源:http://www.zghlxwxcb.cn/news/detail-438575.html
}文章來源地址http://www.zghlxwxcb.cn/news/detail-438575.html
到了這里,關(guān)于代碼隨想錄復(fù)習(xí) 203 移除鏈表元素的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!