- 删除排序链表中的重复元素
存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。
返回同样按升序排列的结果链表。
示例 1:
输入:head = [1,1,2]
输出:[1,2]
示例 2:
输入:head = [1,1,2,3,3]
输出:[1,2,3]
answer:
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode deleteDuplicates(ListNode head)
{
List<Integer> list = new ArrayList<>();
while ( head != null )
{
if( !list.contains( head.val ) )
list.add( head.val );
head = head.next ;
}
int i = 0 ;
int val = 0 ;
ListNode pnode = new ListNode( -1 );
ListNode hh = pnode;
while ( i < list.size() )
{
val = list.get( i ) ;
ListNode listNode = new ListNode( val );
pnode.next = listNode ;
pnode = listNode ;
i ++;
}
return hh.next ;
}
}