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

Example

Given 1->2->3->3->4->5->3, val = 3, you should return the list as 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         ListNode * dummy = new ListNode(-1);
18         dummy->next = head;
19         head = dummy;
20         
21         while (head->next != NULL) {
22             if (head->next->val == val) {
23                 head->next = head->next->next;
24                 continue;
25             }
26             
27             head = head->next;
28         }
29         
30         return dummy->next;
31     }
32 };

 

相关文章:

  • 2021-07-05
  • 2021-11-09
  • 2022-02-22
  • 2021-09-09
  • 2022-02-08
  • 2021-11-25
  • 2021-11-08
猜你喜欢
  • 2021-06-20
  • 2021-06-15
  • 2022-01-20
相关资源
相似解决方案