# 203. 移除链表元素
给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。
# 解题思路
impl Solution {
pub fn remove_elements(head: Option<Box<ListNode>>, val: i32) -> Option<Box<ListNode>> {
let mut dummy_head = Box::new(ListNode::new(0));
dummy_head.next = head;
let mut current_node = &mut dummy_head;
while let Some(ref mut node) = current_node.next {
if node.val == val {
current_node.next = node.next.take();
} else {
current_node = current_node.next.as_mut().unwrap();
}
}
dummy_head.next
}
}