• [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 };
  • 相关阅读:
    JavaScript基础概念之----作用域
    Vue-Router基础知识点总结【vue系列】
    前端如何进行seo优化
    常见算法
    ES6新特性
    VUE内使用AES(BCB)加解密
    VUE内使用RSA加解密
    vue 使用v-html指令渲染的富文本无法修改样式的解决方法
    js中字符串可以调用的方法
    基于H5的混合开发介绍(一)WebView
  • 原文地址:https://www.cnblogs.com/vincently/p/4059404.html
Copyright © 2020-2023  润新知