• leetcode-83-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.

    要完成的函数:

    struct ListNode

    {
      int val;
      ListNode *next;
      ListNode(int x) : val(x), next(NULL) {}
    };

    ListNode* deleteDuplicates(ListNode* head) 

    说明:

    这道题目不难,考察的是对于指针的简单操作。要注意的点如下:

    1、head指针指的是第一个节点指针。这个指针有可能为NULL,没有指向任何内存空间,因此谈不上有val和next。也有可能指向一个ListNode的变量空间,有val和next的。

    2、注意要释放重复的节点空间,不然会造成内存泄漏.

    代码:

    ListNode* deleteDuplicates(ListNode* head) 
    {
      ListNode
    * t1=head,*t2; if(head==NULL)//空指针特殊处理   return head; while(t1->next!=NULL)//当下一个节点仍然有val的时候继续处理 {
        t2
    =t1->next; if(t2->val==t1->val) {
          t1
    ->next=t2->next; delete t2; } else t1=t2;
      }
      return head;
    }
  • 相关阅读:
    JavaScript 教程
    C#基础实例
    Angularjs实例5
    Angularjs实例4
    Angularjs 数据过滤
    Angularjs实例3
    Angularjs 数据循环
    Angularjs模块
    Angularjs 数据双向绑定
    Angularjs实例应用
  • 原文地址:https://www.cnblogs.com/chenjx85/p/8727591.html
Copyright © 2020-2023  润新知