leetcode-82. Remove Duplicates from Sorted List II(删除有序列表中所有重复元素一个不留)
2017-05-24 22:27
330 查看
https://leetcode.com/problems/remove-duplicates-from-sorted-list-ii/#/description
问题描述:重复的元素全都删除,一个不留。
思路解析:设立两个指针,一个滑动指向重复元素最后一个。当两个元素相连则同时向后滑动,否则相连。
代码如下:
问题描述:重复的元素全都删除,一个不留。
思路解析:设立两个指针,一个滑动指向重复元素最后一个。当两个元素相连则同时向后滑动,否则相连。
代码如下:
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ public class Solution { public ListNode deleteDuplicates(ListNode head) { ListNode k=new ListNode(0); k.next=head; ListNode p=k; ListNode f=head; while(f!=null) { while(f.next!=null && f.val==f.next.val ) { f=f.next;//f指向重复值的最后一个元素 } if(p.next==f){ p=p.next;//如果前后连个相连,说明是不重复的元素相连,将指针后移 }else { p.next=f.next; } f=f.next; } return k.next; } }
相关文章推荐
- 程序员面试题目总结--数组(一)【递归求数组所有元素和、用一个for循环打印出一个二维数组、用递归判断数组是否是递增、有序数组中删除重复元素】
- [LeetCode]Merge Two Sorted Lists & Remove Duplicates from Sorted List 两个有序链表合并为一个&删除链表重复元素
- Java代码实现删除一个有序数组里面的重复元素
- 删除有序数组中重复元素的一个非常简洁的算法
- 给定一个排序的链表,删除所有具有重复数字的节点,从原始列表中只留下不同的数字。
- 每日一题之LeetCode移除元素 删除有序数组重复元素
- 算法22:给定一个排好序的linked list,删除其中所有的重复元素。比如给定1->2->3->3-> 4->4->5,返回1->2->5。给定1->1->1->2->3,返回2->3
- 有序整型数组A,大小为n,请给出一个O(n)的算法,删除重复元素,O(1)空间
- [LeetCode]83. Remove Duplicates from Sorted List(删除有序链表的重复元素 )
- leetcode 删除有序链表中的重复元素
- 数据结构之从有序的顺序表中删除所有其值重复的元素,使表中的元素均不相同
- 给定一个排序链表,删除所有重复的元素每个元素只留下一个。
- 一个有序的数组中,删除重复出现的元素,输出不再重复出现的元素个数
- 给定一个排序的链接列表,删除所有重复项,使每个元素只显示一次。
- leetcode-83. Remove Duplicates from Sorted List(删除有序链表中的重复元素)
- 每天一道LeetCode-----从有序数组中删除重复元素
- leetcode83,删除有序链表中的重复元素
- 删除一个有序链表的重复元素
- LeetCode 从排序好的列表中删除重复元素
- 面试题精选(84):使序列有序的最少交换次数(minimum swaps) + 删除序列中所有重复的元素