LeetCode 203. Remove Linked List Elements 題解 —— Java

題目鏈接:https://leetcode.com/problems/remove-linked-list-elements/#/description

題目要求:刪除鏈表中的值爲指定值的所有節點

思路:該題的關鍵是 在head之前增加一個輔助節點,然後使用兩個指針,一個previous,一個current,分別用來記錄當前處理節點的前一個節點和當前處理節點。


Java代碼如下:

public class Solution {
    public ListNode removeElements(ListNode head, int val) {
    	ListNode addNode = new ListNode(0);
    	addNode.next = head;
    	
    	ListNode previous = addNode;
    	ListNode current = head;
    	
        while(current != null){
        	if(current.val == val){
        		previous.next = current.next;
        		current = current.next;
        	} else {
        		previous = current;
        		current = current.next;
        	}
        }
        return addNode.next;
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章