mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-10 12:15:58 +08:00
添加 0203.移除链表元素.md Scala版本
This commit is contained in:
@ -446,6 +446,36 @@ impl Solution {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
Scala:
|
||||||
|
```scala
|
||||||
|
/**
|
||||||
|
* Definition for singly-linked list.
|
||||||
|
* class ListNode(_x: Int = 0, _next: ListNode = null) {
|
||||||
|
* var next: ListNode = _next
|
||||||
|
* var x: Int = _x
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
object Solution {
|
||||||
|
def removeElements(head: ListNode, `val`: Int): ListNode = {
|
||||||
|
if (head == null) return head
|
||||||
|
var dummy = new ListNode(-1, head) // 定义虚拟头节点
|
||||||
|
var cur = head // cur 表示当前节点
|
||||||
|
var pre = dummy // pre 表示cur前一个节点
|
||||||
|
while (cur != null) {
|
||||||
|
if (cur.x == `val`) {
|
||||||
|
// 相等,就删除那么cur的前一个节点pre执行cur的下一个
|
||||||
|
pre.next = cur.next
|
||||||
|
} else {
|
||||||
|
// 不相等,pre就等于当前cur节点
|
||||||
|
pre = cur
|
||||||
|
}
|
||||||
|
// 向下迭代
|
||||||
|
cur = cur.next
|
||||||
|
}
|
||||||
|
// 最终返回dummy的下一个,就是链表的头
|
||||||
|
dummy.next
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
-----------------------
|
-----------------------
|
||||||
<div align="center"><img src=https://code-thinking.cdn.bcebos.com/pics/01二维码一.jpg width=500> </img></div>
|
<div align="center"><img src=https://code-thinking.cdn.bcebos.com/pics/01二维码一.jpg width=500> </img></div>
|
||||||
|
Reference in New Issue
Block a user