每日一题:删除排序链表中的重复元素Ⅱ(LeetCode 82)
题目
给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表 。
参考代码
- 迭代遍历法不再介绍,下面是递归法
 
class Solution {
public:
    ListNode* deleteDuplicates(ListNode* head) {
        if(head == NULL || head->next == NULL){
            return head;
        }
        if(head->val != head->next->val)
        {
            ListNode *resNode = deleteDuplicates(head->next);
            head->next = resNode;
            return head;
        }
        else
        {
            ListNode *newNode = head->next;
            while(newNode != NULL && head->val == newNode->val)
            {
                newNode = newNode->next;
            }
            return deleteDuplicates(newNode);
        }
    }
};
                
                        THE END
                    
                    
                    0
        
                        二维码        
                    
                                打赏            
                    
                        海报        
        
            
            
        每日一题:删除排序链表中的重复元素Ⅱ(LeetCode 82)
            
                题目
给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表 。
参考代码
迭代遍历法不再介绍,下面是……            
            
                
            
共有 0 条评论