题目:移除链表元素
删除链表中等于给定值 val 的所有节点。
示例:
输入: 1->2->6->3->4->5->6, val = 6
输出: 1->2->3->4->5
复制代码
思考:
给链表加个头结点headNode,如果headNode.next.val等于val就将headNode.next指向headNode.next.next即再下一个节点。遍历完链表后返回headNode.next即可。
复制代码
实现:
class Solution {
public ListNode removeElements(ListNode head, int val) {
ListNode headNode = new ListNode(-1);
headNode.next = head;
ListNode cur = headNode;
while (cur.next != null) {
if (cur.next.val == val) {
cur.next = cur.next.next;
} else {
cur = cur.next;
}
}
return headNode.next;
}
}复制代码