leetcode–remove_duplicates_from_sorted_list
题意: 给定一个排序的链表,从中删除所有重复的元素。链表的结构如图
public class ListNode {
int val;
ListNode next;
ListNode(int x) {
val = x;
next = null;
}
}
举例: 给定1->1->2->3->3, 返回1->2->3.
分析: 本题比较容易,只是考察链表的遍历和删除操作,增加一个int变量表示当前元素的val,如果后一个元素的val和当前val不同,则修改val为后一个元素的val。
代码
public ListNode deleteDuplicates(ListNode head) {
if(head == null){
return head;
}else{
int val = head.val;
ListNode temp = head;
while(temp.next != null){
if(temp.next.val != val){
temp = temp.next;
val = temp.val;
}else{
temp.next = temp.next.next;
}
}
return head;
}
}