删除排序链表中的重复元素
存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。
返回同样按升序排列的结果链表。
示例 1:
输入:head = [1,1,2] 输出:[1,2]
思路:只需要对链表进行一次遍历,就可以删除重复元素,我们设first指针指向头节点head,随后开始对链表进行遍历,如果当前first和first.next的对应元素相同,我们就将first.next移除;否则first指向下一个结点继续进行判断
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution {
public ListNode deleteDuplicates(ListNode head) {
ListNode first = head;
if(head==null)
{
return head;
}
while(first.next!=null)//判断
{
if(first.val==first.next.val)
{
first.next=first.next.next;
}
else
first=first.next;
}
return head;
}
}
每日都有进行一些java的数据结构算法练习!!!!