* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func deleteNode(head *ListNode, val int) *ListNode {
if head.Val == val{
return head.Next
}
pre:=head
for head.Next.Val != val{
head = head.Next
}
head.Next = head.Next.Next
return pre
}
这是一个golang写的去除某项节点的代码,我不明白为什么pre保存的是初始的head,后面也没有对pre的操作,为什么最后要返回pre,本人初学,请赐教。