zoukankan      html  css  js  c++  java
  • 删除链表中的元素

    删除链表中等于给定值val的所有节点。

    给出链表 1->2->3->3->4->5->3, 和 val = 3, 你需要返回删除3之后的链表:1->2->4->5

    迷惑点:陷入没有表头的陷阱,总是想记下删除节点的先驱,导致折腾了很久,其实只要人为加一个表头就简单很多了!!

     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     /**
    12      * @param head a ListNode
    13      * @param val an integer
    14      * @return a ListNode
    15      */
    16     ListNode *removeElements(ListNode *head, int val) {
    17         // Write your code here
    18         //meiyou ya ba jie dian!!!???  自己加一个表头
    19         //static int cnt = 0;
    20         //kong biao!!就不是问题了。
    21         ListNode *temp=new ListNode(0);
    22         temp->next= head;
    23         head=temp;
    24         
    25         while(head->next != NULL){
    26             if(head->next->val == val){
    27                 head->next = head->next->next;
    28             }else{
    29                 head = head->next;
    30             }
    31         }
    32         return temp->next;
    33 
    34     }
    35 };
    该博客停止更新,继续关注请移步: www.foolweel.com
  • 相关阅读:
    switch多分枝语句
    自动扫描判断数组奇偶 直接在控制台输入
    if else语句
    1231作业
    字符集和字符编码
    12.28作业
    置顶广告
    图片库
    js实现隔行换色及其鼠标滑过变色
    【转载】display:inline-block兼容ie6/7的写法
  • 原文地址:https://www.cnblogs.com/Qwells/p/5283711.html
Copyright © 2011-2022 走看看