删除链表中重复的结点
2019-03-22 18:45
15 查看
版权声明:如需转载,请写明出处 https://blog.csdn.net/weixin_43113679/article/details/88748195
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5
/* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } */ public class Solution { public ListNode deleteDuplication(ListNode pHead) { //自己做一个表头就不用考虑第一个是否和第二个重复了 ListNode first = new ListNode(-1); first.next =pHead; //很像滑动窗口,但是这个是可以扩大缩小的 ListNode left =pHead; ListNode right =first; while(right!=null&&right.next!=null){ if(right.val==right.next.val){ int val =right.val; //当次节点和后节点相同就要再往后遍历,是否是多个相同还是两个相同 while(right!=null&&right.val == val){ right =right.next; } //把刚刚val相同重复的结点删除掉了, left.next = right; }else{ //窗口的左边框可以右移现在右边框的位置,右边框再往后移一步 left =right; right =right.next; } } return first.next; } }
链接在这
这个思路挺好的
相关文章推荐
- [Leetcode] Remove duplicate from sorted list ii 从已排序的链表中删除重复结点
- 删除链表中重复的结点
- [剑指offer]删除链表中重复的结点
- 删除链表中重复的结点
- 【剑指offer】删除链表中重复的结点
- 剑指offer(53)-删除链表中重复的结点
- 牛客网刷题之删除链表中重复的结点
- 删除链表中重复的结点(单链表)
- 剑指offer--面试题57:删除链表中重复的结点
- 删除链表中重复的结点(java版)
- 单链表中删除重复结点
- 删除链表中重复放入结点
- [JS]删除链表重复所有结点3
- 剑指offer: 删除链表中重复的结点
- 剑指offer——删除链表中重复的结点(好题!)
- [JS]删除链表重复所有结点3
- 剑指offer—删除链表中重复的结点
- 删除链表中重复的结点
- 剑指Offer——删除链表中重复的结点
- Leetcode刷题记——83. Remove Duplicates from Sorted List(删除有序链表的重复结点)