83. Remove Duplicates from Sorted List
1. 问题描述:
输入是一个有序链表,要求出现重复元素只保留一个,输出一个有序无重复元素的链表。
2. 解题思路:
这个题目很简单,就是指针遍历,然后判断指针所在元素和后一个元素是否值一样,如果一样就断开链接,指针所在元素指向这个值一样元素的下一个。
3. java代码:
/**
* 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 tmp = head;
while(tmp != null && tmp.next != null) {
if(tmp.val == tmp.next.val){//值相同
if(tmp.next.next!=null){
tmp.next = tmp.next.next;
} else {
tmp.next = null;
}
} else { //值不同
tmp = tmp.next;
}
}
return head;
}
}