LeetCode - 82.删除排序链表 II 中的重复元素
最编程
2024-04-11 10:21:51
...
import java.util.List;
import java.util.Scanner;
public class deleteDuplicates {
public static class ListNode{
int val;
ListNode next;
ListNode(){}
ListNode(int x){
val = x;
}
}
public static ListNode deletDuplicates(ListNode head){
if(head==null){
return head;
}
ListNode dummyHead = new ListNode(-1);
dummyHead.next = head;
ListNode cur = dummyHead;
while(cur.next!=null && cur.next.next!=null){
if(cur.next.val==cur.next.next.val){
int x = cur.next.val;
while(cur.next!=null && x==cur.next.val){
cur.next = cur.next.next;
}
}else{
cur = cur.next;
}
}
return dummyHead.next;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入链表长度");
int n = sc.nextInt();
ListNode head=null,tail=null;
for(int i = 0 ; i < n;i++){
ListNode newNode = new ListNode(sc.nextInt());
if(head==null){
head = newNode;
tail = newNode;
}else{
tail.next = newNode;
tail = newNode;
}
}
ListNode forRes = deletDuplicates(head);
System.out.println("删除后的结果为");
while (forRes!=null){
System.out.print(forRes.val+" ");
forRes = forRes.next;
}
}
}