【java笔记】Leetcode 203.移除链表元素

删除链表中等于给定值 val 的所有节点。

示例:

输入: 1->2->6->3->4->5->6, val = 6
输出: 1->2->3->4->5
public class Solution {
	public class ListNode {
		int val;
		ListNode next;

	}

	public ListNode removeElements(ListNode head, int val) {
		// 若头节点就是待删除元素
		while (head != null && head.val == val) {
			head = head.next;
		}
		// 链表不为空
		if (head == null)
			return null;
		ListNode prev = head;
		// 遍历链表,此时头节点不是待删除元素
		while (prev.next != null) {
			if (prev.next.val == val)
				prev.next = prev.next.next;
			else
				prev = prev.next;

		}
		return head;
	}
}

猜你喜欢

转载自blog.csdn.net/qq_42370146/article/details/83013058