欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

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; } } }