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