1. 移除链表元素

typedef struct ListNode ListNode;
struct ListNode* removeElements(struct ListNode* head, int val) {
ListNode* newHead = NULL, *newTail = NULL;
ListNode* pcur = head;
while(pcur != NULL) {
if(pcur->val != val) {
if(newHead == NULL) {
newHead = newTail = pcur;
} else {
newTail->next = pcur;
newTail = newTail->next;
}
}
pcur = pcur->next;
}
if(newTail != NULL) {
newTail->next = NULL;
}
return newHead;
}
2. 反转链表

struct ListNode* reverseList( ListNode* head) {
;
head;
(cur) {
cur->next;
cur->next = prev;
prev = cur;
cur = next;
}
prev;
}