83. 删除排序链表中的重复元素

题目

存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。

返回同样按升序排列的结果链表。

输入:head = [1,1,2]
输出:[1,2]

输入:head = [1,1,2,3,3]
输出:[1,2,3]

leetcode链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list/

思考

算是第一次做链表的题,没做之前一直不知道用java如何来做链表题。所以这次的题算是开卷做的。从整个题目上来看,就是leetcode自己构造了一个链表的每个节点的类。然后返回的结果就是这个类的对象。还是蛮有意思的。

代码

/**
 * 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 cur = head;
        if(head==null){
            return head;
        }
        while(cur.next != null){
            if(cur.val == cur.next.val){
                cur.next = cur.next.next;
            }else{
                cur = cur.next;
            }
        }
        return head;
    }
}

你可能感兴趣的:(83. 删除排序链表中的重复元素)