牛客网刷题之删除链表中重复的结点
来源:互联网 发布:淘宝闹鬼的古着店 编辑:程序博客网 时间:2024/05/29 18:02
题目描述:
解题思路:
从头遍历链表,如果出现值相等的就表示该结点重复,就直接指向下一结点,当热,下一结点也可能相同,故而是指向下一不相同的结点。不过需要注意的是,头结点也可能与后面的结点相同,所以,我们要设置一个临时头结点,并让临时头结点指向当前头结点(最终返回需要是临时头结点的下一结点)。
题解:
public ListNode deleteDuplication(ListNode pHead) { if(pHead == null){ return null; } ListNode tmpRoot = new ListNode(-1); tmpRoot.next = pHead; ListNode prevNode = tmpRoot; ListNode curNode = pHead; while(curNode != null && curNode.next != null){ if(curNode.val == curNode.next.val){ while(curNode.next != null && curNode.next.val == curNode.val){ curNode = curNode.next; } prevNode.next = curNode.next; }else{ prevNode.next = curNode; prevNode = prevNode.next; } curNode = curNode.next; } return tmpRoot.next ; }
ac结果:
0 0
- 牛客网刷题之删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 组合数学第三次作业
- PL/SQL和sql是什么区别?
- CSS hack 详解
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)
- ListView等的样式和内容适配器不复用问题
- 牛客网刷题之删除链表中重复的结点
- 关于Android ActionBar上不显示icon的问题
- 将附初值的的变量定位到ROM中
- Gradle 介绍三
- 【水仙花数】Python求解水仙花数
- 怎样学习哲学
- HTTPS 小白知识(一)
- 深入解析STM32_USB-FS-Device_Lib库
- Oracle错误ORA-03113: end-of-file on communication channel处理办法