更新 0203.移除链表元素 go版本增加直接操作原链表方法

This commit is contained in:
wangzilong
2023-12-29 10:56:48 +08:00
parent 4223cadac3
commit df11fce6e8

View File

@ -330,7 +330,40 @@ class Solution:
```
### Go
直接使用原链表
```go
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func removeElements(head *ListNode, val int) *ListNode {
//依旧是先定义逻辑
//如果原链表的头节点为val的话head=head.next且为持续过程防止头节点后面的节点也为Val
//这里前置循环 并且要判定head 是否为nil防止出错
for head != nil && head.Val == val {//由于leetcode代码运行方式for循环条件判断前后顺序不能修改下面的for循环也同样如此
head = head.Next
}
cur := head
for cur != nil && cur.Next != nil {
if cur.Next.Val == val {
cur.Next = cur.Next.Next
} else {
cur = cur.Next
}
}
return head
}
```
虚拟头节点方式:
```go
/**
* Definition for singly-linked list.