LeetCode83----删除排序链表中的重复元素

给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。

示例 1:

输入: 1->1->2
输出: 1->2

示例 2:

输入: 1->1->2->3->3
输出: 1->2->3

思路:
(1)定义两个指针,cur1和cur2,初始时cur1指向head,cur2指向head.next
(2)如果俩指针的值相等,就让cur1的next等于cur2的next,同时cur2指向next
(3)如果俩指针不相等,cur1指向next,cur指向next
(4)然后继续比较cur2和cur1的值

代码如下:
public class LeetCode83 {
	public static class ListNode {
		int val;
		ListNode next;

		ListNode(int x) {
			val = x;
		}
	}

	public ListNode deleteDuplicates(ListNode head) {
		if (head == null || head.next == null) {
			return head;
		}
		ListNode prev = head;
		ListNode cur = head.next;
		while (cur != null) {
			if (prev.val == cur.val) {
				prev.next = cur.next;
			} else {
				prev = prev.next;
			}
			cur = cur.next;
		}
		return head;
	}
}

  

 
posted @ 2018-06-10 09:20  Booker808  阅读(121)  评论(0编辑  收藏  举报