关闭

crack the code interview 2.1

264人阅读 评论(0) 收藏 举报
分类:

Write code to remove duplicates from an unsorted linked list.

不断的如果当前元素和前面的重复,删除当前元素。

struct Node
{
    Node * next;
    int value;
};

void deleteDupNode(Node * head)
{
    if (head == NULL)
        return;
    Node * currentNode = head->next;
    Node * previous = head;
    while (currentNode != NULL)
    {
        Node * start = head;
        while (start != currentNode)
        {
            if (start->value == currentNode->value)
            {
                previous->next = currentNode->next;
                Node * cur = currentNode;
                delete cur;
                break;
            }
        }
        previous = currentNode;
        currentNode = currentNode->next;
    }
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:25149次
    • 积分:752
    • 等级:
    • 排名:千里之外
    • 原创:54篇
    • 转载:5篇
    • 译文:0篇
    • 评论:0条