zoukankan      html  css  js  c++  java
  • [leetcode] Remove Linked List Elements

    Remove Linked List Elements

    Remove all elements from a linked list of integers that have value val.

    Example
    Given: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6, val = 6
    Return: 1 --> 2 --> 3 --> 4 --> 5

    Credits:
    Special thanks to @mithmatt for adding this problem and creating all test cases.

    Have you met this question in a real interview?
     
     
    /**
    * Definition for singly-linked list.
    * struct ListNode {
    *     int val;
    *     ListNode *next;
    *     ListNode(int x) : val(x), next(NULL) {}
    * };
    */
    class Solution
    {
    public:
      ListNode* removeElements(ListNode *head, int val)
      {
        ListNode *pre_ptr = NULL, *cur_ptr = head;
    
        while(cur_ptr)
        {
          if(cur_ptr->val == val)
          {
            if(NULL == pre_ptr)
            {
              head = head->next;
              delete cur_ptr;
              cur_ptr = head;
            }
            else
            {
              pre_ptr->next = cur_ptr->next;
              delete cur_ptr;
              cur_ptr = pre_ptr->next;
            }
          }
          else
          {
            pre_ptr = cur_ptr;
            cur_ptr = cur_ptr->next;
          }
        }
    
        return head;
      }
    };
  • 相关阅读:
    forEach与迭代器
    JavaMap
    java stack
    Java的Iterator迭代器
    JavaScript基础知识汇总
    Http协议总结
    以太坊交易剔重规则
    localhost与127.0.0.1与0.0.0.0
    boost之asio
    调和级数求和
  • 原文地址:https://www.cnblogs.com/lxd2502/p/4479441.html
Copyright © 2011-2022 走看看