题解 | #删除有序链表中重复的元素-I#
删除有序链表中重复的元素-I
http://www.nowcoder.com/practice/c087914fae584da886a0091e877f2c79
import java.util.*;
/*
* public class ListNode {
* int val;
* ListNode next = null;
* }
*/
//思路 双指针(前后指针)简单遍历
public class Solution {
/**
*
* @param head ListNode类
* @return ListNode类
*/
public ListNode deleteDuplicates (ListNode head) {
// write code here
//如果头为空 直接返回null 这个没的说
if(head==null){
return null;
}
//定义前后指针 初值为 头结点 和 头结点的下一位
ListNode prev = head;
ListNode next = head.next;
//判断 前指针 的下一个是不是null 如果是则表示已经遍历完毕
while(prev.next!=null){
if(prev.val==next.val){
//利用前指针删除前指针的下一个结点
prev.next=next.next;
next=next.next;
}else{
//不删除则后移
prev=prev.next;
next=next.next;
}
}
//返回处理过的链表
return head;
}
}