📑 题目:203. 移除链表元素

🚀 本题 LeetCode 传送门

题目大意

删除链表中所有指定值的结点。

解题思路

按照题意做即可。

代码

  1. package leetcode
  2. /**
  3. * Definition for singly-linked list.
  4. * type ListNode struct {
  5. * Val int
  6. * Next *ListNode
  7. * }
  8. */
  9. func removeElements(head *ListNode, val int) *ListNode {
  10. if head == nil {
  11. return head
  12. }
  13. newHead := &ListNode{Val: 0, Next: head}
  14. pre := newHead
  15. cur := head
  16. for cur != nil {
  17. if cur.Val == val {
  18. pre.Next = cur.Next
  19. } else {
  20. pre = cur
  21. }
  22. cur = cur.Next
  23. }
  24. return newHead.Next
  25. }