leetcode-0083 remove duplicates from sorted list
阿新 • • 發佈:2022-05-09
Given the head of a sorted linked list, delete all duplicates such that each element appears only once. Return the linked list sorted as well.
Example 1:
Input: head = [1,1,2]
Output: [1,2]
Example 2:
Input: head = [1,1,2,3,3]
Output: [1,2,3]
Constraints:
The number of nodes in the list is in the range [0, 300].
-100 <= Node.val <= 100
The list is guaranteed to be sorted in ascending order.
來源:力扣(LeetCode)
連結:https://leetcode.cn/problems/remove-duplicates-from-sorted-list
/** * 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) { // if(head == null){ // return head; // } // ListNode currentNode = head; // while(null != currentNode.next){ // if(currentNode.next.val == currentNode.val){ // currentNode.next = currentNode.next.next; // }else{ // currentNode = currentNode.next; // } // } // return head; // } /* apply the recursion technique*/ public ListNode deleteDuplicates(ListNode head) { if(null == head || null == head.next){ return head; } head.next = deleteDuplicates(head.next); return head.next.val == head.val ? head.next : head ; } }