• 203单链表--移除单链表中重复的元素


    1、思路:

    本人已经感觉到双指针的无敌了!!

    • 建立头节点phead和指向头节点的指针p,为了解决单链表找不到上一个结点的问题
    • 结束条件为head!=NULL,比较head和val的值,删除重复的元素 
    • p->next=head->next;head=head->next

    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* removeElements(ListNode* head, int val) {
    12         ListNode *phead,*p;
    13         phead=new ListNode(0);
    14         phead->next=head;
    15         p=phead;
    16         while(head!=NULL){
    17             if(head->val!=val){
    18                 head=head->next;
    19                 p=p->next;
    20             }
    21             else{
    22                  p->next=head->next;
    23                  head=head->next;
    24             }
    25         }
    26         return phead->next;
    27     }
    28 };
  • 相关阅读:
    shell的一本书
    linux设置网络三种方法
    BIOS讲解
    对于ssh和hadoop联系讲解和ssh的基本内容
    Httphandler
    ASP.NET配置文件
    Httpmoudle
    ASP.NET页面生命周期
    ASP.NET页面跳转方法的集合
    OutputCache的使用
  • 原文地址:https://www.cnblogs.com/hehesunshine/p/11635276.html
Copyright © 2020-2023  润新知