leetcode203
首先设置虚拟头节点dummyHead,让虚拟头结点指向原头节点,这样如果头结点需要移除的时候就不用考虑多种情况了,再让cur当前节点指向头结点,如果头结点和头结点的下一个节点不为空, 那么如果当前节点的值等于target,则当前节点的next=cur.next.next
否则,当前cur = cur.next,让当前节点指向下一个节点

type ListNode struct{
    Val int
    Next *ListNode
}
func removeElements(head *ListNode, val int) *ListNode {
    dummyHead := &ListNode{}
    dummyHead.Next = head
    cur := dummyHead
    for dummyHead.Next!=nil&&cur.Next!=nil{
        if cur.Next.Val == val{
            cur.Next = cur.Next.Next
        }else{
            cur = cur.Next
        }
    }
    return dummyHead.Next
}
分类: 算法

站点统计

  • 文章总数:315 篇
  • 分类总数:20 个
  • 标签总数:193 个
  • 运行天数:1147 天
  • 访问总数:26850 人次

浙公网安备33011302000604

辽ICP备20003309号