您的位置:首页 > 产品设计 > UI/UE

删除链表中相邻重复元素

2015-10-11 15:57 525 查看
删除链表中相邻元素,如

1, 2, 3,3,4, 4

操作之后得到

1, 2, 3, 4

代码:

struct ListNode
{
int nData;
ListNode* pNext;
};


void Unique(ListNode* pHead)
{
// 链表无节点或者只有1个节点
if (NULL == m_pHead || NULL == m_pHead->pNext)
return;

ListNode* pCur = m_pHead;
while (pCur->pNext != NULL)
{
ListNode* pNext = pCur->pNext;

// 下一元素与当前元素相等,删除下一元素
// 当前元素的下一元素为下一元素的下一元素
if (pNext->nData == pCur->nData)
{
pCur->pNext = pNext->pNext;
delete pNext;
continue;
}

//  不等,当前元素跳到下一元素
pCur = pNext;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息