File tree Expand file tree Collapse file tree 1 file changed +38
-0
lines changed Expand file tree Collapse file tree 1 file changed +38
-0
lines changed Original file line number Diff line number Diff line change @@ -737,7 +737,45 @@ public class Solution
737
737
}
738
738
}
739
739
```
740
+ ### Ruby#
741
+
742
+ ``` ruby
743
+ # 定义链表节点
744
+ class ListNode
745
+ attr_accessor :val , :next
746
+ def initialize (val = 0 , _next = nil )
747
+ @val = val
748
+ @next = _next
749
+ end
750
+ end
751
+
752
+ # 删除链表中值为 val 的节点
753
+ def remove_elements (head , val )
754
+ # 创建一个虚拟头节点,这样可以简化删除头节点的处理
755
+ # 虚拟头节点的值为 0,指向当前链表的头节点
756
+ dummy = ListNode .new (0 )
757
+ dummy.next = head
758
+
759
+ # 初始化当前节点为虚拟头节点
760
+ current = dummy
761
+
762
+ # 遍历链表,直到当前节点的下一个节点为空
763
+ while current.next
764
+ # 如果当前节点的下一个节点的值等于 val
765
+ if current.next.val == val
766
+ # 跳过该节点,即将当前节点的 next 指向下一个节点的 next
767
+ current.next = current.next.next
768
+ else
769
+ # 否则继续遍历,当前节点向前移动
770
+ current = current.next
771
+ end
772
+ end
773
+
774
+ # 返回删除 val 后的新链表的头节点,虚拟头节点的 next 就是新的头节点
775
+ dummy.next
776
+ end
740
777
778
+ ```
741
779
742
780
<p align =" center " >
743
781
<a href =" https://programmercarl.com/other/kstar.html " target =" _blank " >
You can’t perform that action at this time.
0 commit comments