class DLinkedNode {
public int val = 0;
public DLinkedNode prev = null;
public DLinkedNode next = null;
public DLinkedNode(int val) {
this.val = val;
}
}
public class Oj {
public DLinkedNode removeElements(DLinkedNode head,int val){
//1.链表为空的情况
if(head == null){
return null;
}
//2.处理非头结点的情况
DLinkedNode prev = head;
DLinkedNode node = head.next;
while (node != null){
if (node.val == val){
prev.next = node.next; // 跳过这个节点
node = prev.next;
}else{
prev = node;
node = node.next;
}
}
//3.处理头节点
if (head.val == val){
head = head.next;
}
return head;
}
}
删除链表中所有给定值为val的节点
最新推荐文章于 2023-07-29 22:58:39 发布