题目描述:
给定一个没有排序的链表,去掉其重复项,并保留原顺序,如链表1->3->1->5->5->7,去掉重复项变为1->3->5->7。
方法一:顺序删除
思路: 通过双重循环直接在链表上执行删除操作。外层循环用一个指针从第一个节点开始遍历整个链表,然后内层循环用另一个指针遍历其余节点,将与外层循环遍历到的指针所指节点的数据域相同的节点删除(删除的是内层循环的节点)。
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode deleteDuplicates(ListNode head) {
//排除空表和单节点情况
if (head == null || head.next == null) {