• leetcode Remove Linked List Elements


    题目连接

    https://leetcode.com/problems/remove-linked-list-elements/  

     Remove Linked List Elements

    Description

    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

    /**
     * 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) {
    		if (!head) return NULL;
    		ListNode *p = head, *x = NULL;
    		if (p->val == val) {
    			while (p->next && p->val == val) {
    				x = p;
    				p = x->next;
    				delete x;
    			}
    			head = p;
    		}
    		while (p && p->next) {
    			while (p->next && p->next->val == val) {
    				x = p->next;
    				p->next = x->next;
    				delete x;
    			}
    			p = p->next;
    		}
    		return (!head->next && head->val == val) ? NULL : head;
    	}
    };
  • 相关阅读:
    安装mysql
    工坊第十天
    工坊第九天
    友链qaq
    About me
    好耶
    [Ynoi2011]初始化
    [Ynoi2013]大学
    [Ynoi2015]盼君勿忘
    [Ynoi2019模拟赛]Yuno loves sqrt technology III
  • 原文地址:https://www.cnblogs.com/GadyPu/p/5028173.html
Copyright © 2020-2023  润新知