博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【一天一道LeetCode】#83. Remove Duplicates from Sorted List
阅读量:4197 次
发布时间:2019-05-26

本文共 940 字,大约阅读时间需要 3 分钟。

一天一道LeetCode

本系列文章已全部上传至我的github,地址:

欢迎大家关注我的新浪微博,
欢迎转载,转载请注明出处

(一)题目

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.

(二)解题

题目大意:删除一个链表中重复的节点,注意这里重复的节点需要保留一个。与不同之处就在于此!

解题思路:用一个指针p遍历整个链表,每次遍历到一个节点,就创建一个临时指针ptmp往后查找与它相同的节点,直到找到一个与它不同的节点,然后把p的next指向ptmp,再让p从ptmp向后继续遍历。

/** * Definition for singly-linked list. * struct ListNode { *     int val; *     ListNode *next; *     ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public:    ListNode* deleteDuplicates(ListNode* head) {        ListNode* p = head;        while(p!=NULL)        {            ListNode* pnext = p;            while(pnext!=NULL&&pnext->val==p->val) {
//一直往后查找,知道找到一个不相同的节点 pnext=pnext->next; } p->next = pnext;//将p的next指向pnext p = pnext;//从pnext继续向后遍历 } return head; }};
你可能感兴趣的文章
Drools 规则引擎
查看>>
OLTP和OLAP区别
查看>>
JMeter最常用的三种类型的压力测试
查看>>
Hibernate HQL 语法大全(上)
查看>>
深入Java事务的原理与应用
查看>>
CSS单位和CSS默认值大全
查看>>
交大我来了--周末再见了
查看>>
网页中flash wmode属性
查看>>
挑战自我,勇攀高峰
查看>>
神奇的HTML5画图应用
查看>>
flex 滚动条问题
查看>>
软件开发管理中的博奕论
查看>>
计算机认证考试种类
查看>>
SQL in和exists 比较
查看>>
社会性网络服务(SNS)研究
查看>>
鼠标DarkField技术
查看>>
傻傻的我
查看>>
paypal 沙盒账号注册
查看>>
ebay 沙盒账号注册
查看>>
linux -8 Linux磁盘与文件系统的管理
查看>>