题解 | #从单向链表中删除指定值的节点#
根据大佬代码改的🤣
import java.util.*; class ListNode{ int val; ListNode next; ListNode(int val,ListNode next){ this.val = val; this.next = next; } ListNode(int val){ this.val = val; } } public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ int n = sc.nextInt(); ListNode head = new ListNode(sc.nextInt()); for(int i=0;i<n-1;i++){ int addval = sc.nextInt(); int preval = sc.nextInt(); ListNode p = head; while(p!=null){ if(p.val == preval){ break; } p = p.next; } ListNode addNode = new ListNode(addval,p.next); p.next = addNode; } int delval = sc.nextInt(); ListNode p = head; ListNode next1 = head.next; while(next1!=null){ if(p.val==delval){ p.next=next1.next; head=next1; } if(next1.val == delval){ p.next=next1.next;break; }else{ p=p.next; next1=next1.next; } } p=head; while(p!=null){ System.out.print(p.val+" "); p=p.next; } System.out.println(); } } }