赞
踩
cur.next
和 cur.next.next
while(cur.next!=null && cur.next.nex!=null)
class Solution { public ListNode deleteDuplicates(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){ // 1. 重复 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; } }
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; } } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。