题解 | #【模板】链表#
【模板】链表
https://www.nowcoder.com/practice/97dc1ac2311046618fd19960041e3c6f
import java.util.*;
public class Main {
static class ListNode{
public int val;
ListNode next;
public ListNode(int val){
this.val=val;
}
}
static ListNode head=new ListNode(-1);
public static void insert(int x,int y){
ListNode node=head;
boolean flag=true;
while(node.next!=null){
if(node.next.val==x){
ListNode n=new ListNode(y);
n.next=node.next;
node.next=n;
flag=false;
break;
}else{
node=node.next;
}
}
if(flag){
node.next=new ListNode(y);
}
}
public static void delete(int x){
ListNode node=head;
while(node.next!=null){
if(node.next.val==x){
node.next=node.next.next;
break;
}else{
node=node.next;
}
}
}
public static void main(String[] args){
Scanner in=new Scanner(System.in);
String str=in.nextLine();
while(in.hasNextLine()){
String[] s=in.nextLine().split(" ");
if(s[0].equals("insert")){
insert(Integer.parseInt(s[1]),Integer.parseInt(s[2]));
}else{
delete(Integer.parseInt(s[1]));
}
}
ListNode node=head;
if(node.next==null){
System.out.print("NULL");
}
while(node.next!=null){
System.out.print(node.next.val+" ");
node=node.next;
}
}
}
查看10道真题和解析