设为首页 加入收藏

TOP

Remove Duplicates from Sorted List II
2015-07-20 17:21:50 来源: 作者: 【 】 浏览:3
Tags:Remove Duplicates from Sorted List

Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.

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

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

解题思路:新建一个链表,遍历原来链表,若不重复则将结点插入新链表,重复则跳过.为了避免遍历最后为重复结点,最后需将新链表末尾置NULL

?

#include
  
   
#include
   
     using namespace std; //Definition for singly - linked list. struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} }; ListNode *deleteDuplicates(ListNode *head) { ListNode*ResultList = new ListNode(0); ListNode*TmpResultNode = ResultList; ListNode*NorepeatNode = head; while (NorepeatNode != NULL){ ListNode*PreNode = NorepeatNode; while (NorepeatNode->next != NULL&&NorepeatNode->val == NorepeatNode->next->val) NorepeatNode = NorepeatNode->next; if (NorepeatNode == PreNode) //如果不重复,插入 { TmpResultNode->next = NorepeatNode; TmpResultNode = TmpResultNode->next; } NorepeatNode = NorepeatNode -> next; } TmpResultNode->next = NULL; //尾部置NULL return ResultList->next; }
   
  


?

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇poj--2706--Connect(极限大模拟) 下一篇UVA 10213 How Many Pieces of La..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·怎样用 Python 写一 (2025-12-27 02:49:19)
·如何学习python数据 (2025-12-27 02:49:16)
·想要自学数据分析, (2025-12-27 02:49:14)
·Java 集合框架 - 菜 (2025-12-27 02:19:36)
·Java集合框架最全详 (2025-12-27 02:19:33)