码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode_83_Remove Duplicates from Sorted List

时间:2015-02-03 11:06:43      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:linkedlist   删除重复结点   每个结点唯一   

描述:

Given a sorted linked list, delete all duplicates such that each element appear only once.

For example,
Given 1->1->2, return 1->2.
Given 1->1->2->3->3, return 1->2->3.

思路:

simple,从头到尾遍历结点,如果下一个结点不为空且当前结点和下一个节点相同,删除下一个结点,否则,遍历下一个结点。

代码:

public ListNode deleteDuplicates(ListNode head) {
		if(head==null)
			return head;
		ListNode p=head,q;
		while (p.next!=null)
		{
			q=p;
			if(q.val==p.next.val)
			{
				while(p.next!=null&&q.val==p.next.val)
					p=p.next;
				q.next=p.next;
				p=q.next;
				if(p==null)
					break;
			}
			else 
				p=p.next;
		}
		return head;
    }

结果:

技术分享

leetcode_83_Remove Duplicates from Sorted List

标签:linkedlist   删除重复结点   每个结点唯一   

原文地址:http://blog.csdn.net/mnmlist/article/details/43446689

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!