203削除リスト要素

アイデア:ヘッドノードに参加し、すべてがうまく行われています。 

struct ListNode {
      int val;
      ListNode *next;
     ListNode(int x) : val(x), next(NULL) {}
	 ListNode() :next(NULL) {}
  };

class Solution {
public:
	ListNode* removeElements(ListNode* head, int val) {
		ListNode *pre,*r,*p,*t;
		t = new ListNode();
		t->next = head;
		pre = t;
		p = pre->next;
		while (p)
		{
			if (p->val == val)
			{
				r = p;
				pre->next = p->next;
				p = p->next;
				delete r;
			}
			else
			{
				pre = p;
				p = p->next;
			}
		}
		head = t->next;
		return head;
	}
};

 

公開された114元の記事 ウォンの賞賛1 ビュー4649

おすすめ

転載: blog.csdn.net/weixin_40823740/article/details/103949448