1. 程式人生 > >【java筆記】Leetcode 203.移除連結串列元素

【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;
	}
}