Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit ef8564a

Browse files
committed
添加 0203.移除链表元素.md Scala版本
1 parent 558dc33 commit ef8564a

File tree

1 file changed

+31
-1
lines changed

1 file changed

+31
-1
lines changed

‎problems/0203.移除链表元素.md‎

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -446,6 +446,36 @@ impl Solution {
446446
}
447447
}
448448
```
449-
449+
Scala:
450+
```scala
451+
/**
452+
* Definition for singly-linked list.
453+
* class ListNode(_x: Int = 0, _next: ListNode = null) {
454+
* var next: ListNode = _next
455+
* var x: Int = _x
456+
* }
457+
*/
458+
object Solution {
459+
def removeElements(head: ListNode, `val`: Int): ListNode = {
460+
if (head == null) return head
461+
var dummy = new ListNode(-1, head) // 定义虚拟头节点
462+
var cur = head // cur 表示当前节点
463+
var pre = dummy // pre 表示cur前一个节点
464+
while (cur != null) {
465+
if (cur.x == `val`) {
466+
// 相等,就删除那么cur的前一个节点pre执行cur的下一个
467+
pre.next = cur.next
468+
} else {
469+
// 不相等,pre就等于当前cur节点
470+
pre = cur
471+
}
472+
// 向下迭代
473+
cur = cur.next
474+
}
475+
// 最终返回dummy的下一个,就是链表的头
476+
dummy.next
477+
}
478+
}
479+
```
450480
-----------------------
451481
<div align="center"><img src=https://code-thinking.cdn.bcebos.com/pics/01二维码一.jpg width=500> </img></div>

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /