zoukankan      html  css  js  c++  java
  • [LeetCode] Remove Duplicates from Sorted List

    Given a sorted linked list, delete all duplicates such that each element appear only once.

    For example,
    Given 1->1->2, return 1->2.
    Given 1->1->2->3->3, return 1->2->3.

    思路一:

     1 /**
     2  * Definition for singly-linked list.
     3  * struct ListNode {
     4  *     int val;
     5  *     ListNode *next;
     6  *     ListNode(int x) : val(x), next(NULL) {}
     7  * };
     8  */
     9 class Solution {
    10 public:
    11     ListNode *deleteDuplicates(ListNode *head) {
    12         if (head == NULL) return NULL;
    13         
    14         for (ListNode *prev = head; prev->next != NULL;) {
    15             ListNode *q = prev->next;
    16             if (prev->val == q->val) {
    17                 prev->next = q->next;
    18                 delete q;
    19             } else {
    20                 prev = prev->next;
    21             }
    22         }
    23         
    24         return head;
    25     }
    26 };

    思路二:纯粹是练习二级指针的用法,和第一种没有太大区别

     1 /**
     2  * Definition for singly-linked list.
     3  * struct ListNode {
     4  *     int val;
     5  *     ListNode *next;
     6  *     ListNode(int x) : val(x), next(NULL) {}
     7  * };
     8  */
     9 class Solution {
    10 public:
    11     ListNode *deleteDuplicates(ListNode *head) {
    12         if (head == NULL || head->next ==NULL) return head;
    13         
    14       for (ListNode **curr = &head; (*curr)->next != NULL; ) {
    15           ListNode *q = (*curr)->next;
    16           if ((*curr)->val == q->val) {
    17               (*curr)->next = q->next;
    18               delete q;
    19           } else {
    20               curr = &((*curr)->next);
    21           }
    22       }
    23       
    24       return head;
    25     }
    26 };
  • 相关阅读:
    卡特兰数
    java学习
    最大化窗口
    C++复制文件的代码
    C++复制文件(使用WindowsAPI)
    C++下获取XMLHTTPRequest指针
    操作哈希表
    《Windows Communication Foundation之旅》系列之三(转载)
    让.Net2.0的Membership使用已存在的Sql Server2000/2005数据库
    用Visual C#做WinForm组件
  • 原文地址:https://www.cnblogs.com/vincently/p/4059404.html
Copyright © 2011-2022 走看看