1. 程式人生 > >[Leetcode] 203. 刪除連結串列中的節點

[Leetcode] 203. 刪除連結串列中的節點

題目描述:

刪除連結串列中等於給定值 val 的所有節點。

示例:

輸入: 1->2->6->3->4->5->6, val = 6
輸出: 1->2->3->4->5

解題思路:

第一步:

第二步:

程式碼實現(Java語言):

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public ListNode removeElements(ListNode head, int val) {
        if(head == null)
            return null;
        if(head.next == null)
            return head.val==val?null:head;
        while(head != null && head.val == val){
            head = head.next;
        }
        if(head == null)
            return null;
        ListNode newHead = head;
        ListNode preNode = newHead;
        ListNode trace = newHead.next;
        while(trace != null){
            if(trace.val != val){
                preNode.next = trace;
                preNode = trace;
            }
            trace = trace.next;
            preNode.next = null;
        }
        return newHead;
    }
}


相關推薦

leetcode-203. 刪除連結串列節點

題目 刪除連結串列中等於給定值 val 的所有節點。 示例: 輸入: 1->2->6->3->4->5->6, val = 6 輸出: 1->2->3->4->5 思路 判斷head是否為空 判斷he

LeetCode 203. 刪除連結串列節點 C++&java

刪除連結串列中等於給定值 val 的所有節點。示例:輸入: 1->2->6->3->4->5->6, val = 6 輸出: 1->2->3->4->5 C++/** * Definition for singly-

[Leetcode] 203. 刪除連結串列節點

題目描述:刪除連結串列中等於給定值 val 的所有節點。示例:輸入: 1->2->6->3->4->5->6, val = 6 輸出: 1->2->3-&

leetcode 203. 刪除連結串列節點(python)

刪除連結串列中等於給定值 val 的所有節點。 示例: 輸入: 1->2->6->3->4->5->6, val = 6 輸出: 1->2->3->4->5 # Definition for singly-l

LeetCode 203. 刪除連結串列節點(C++)

題目: 刪除連結串列中等於給定值 val 的所有節點。 示例: 輸入: 1->2->6->3->4->5->6, val = 6 輸出: 1->2-&

LeetCode 203 刪除連結串列節點

刪除連結串列中等於給定值 val 的所有節點。示例:輸入: 1->2->6->3->4->5->6, val = 6 輸出: 1->2->3->4-

LeetCode 203. 刪除連結串列的元素

程式碼:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} *

C#LeetCode刷題之#203-刪除連結串列節點(Remove Linked List Elements)

問題 刪除連結串列中等於給定值 val 的所有節點。 輸入: 1->2->6->3->4->5->6, val = 6 輸出: 1->2->3-&

leetcode】Python實現-203.刪除連結串列節點

203.刪除連結串列中的節點 描述 刪除連結串列中等於給定值 val 的所有節點。 示例 輸入: 1->2->6->3->4->5->6, val = 6 輸出: 1->2->3->

leetcode 237. 刪除連結串列節點 [Easy]

題目:      請編寫一個函式,使其可以刪除某個連結串列中給定的(非末尾)節點,你將只被給定要求被刪除的節點。 現有一個連結串列 -- head = [4,5,1,9],它可以表示為: 4 -> 5 -> 1 -&g

LeetCode題目-- 刪除連結串列節點(python實現)

題目 請編寫一個函式,使其可以刪除某個連結串列中給定的(非末尾)節點,你將只被給定要求被刪除的節點。 現有一個連結串列 -- head = [4,5,1,9],它可以表示為: 4 -> 5 -> 1 -> 9 示例 1

領釦(LeetCode刪除連結串列節點 個人題解

請編寫一個函式,使其可以刪除某個連結串列中給定的(非末尾)節點,你將只被給定要求被刪除的節點。 現有一個連結串列 -- head = [4,5,1,9],它可以表示為: 4 -> 5 -> 1 -> 9 示例 1: 輸入: head = [4,5,1,9

leetcode 237-----刪除連結串列節點

請編寫一個函式,使其可以刪除某個連結串列中給定的(非末尾)節點,你將只被給定要求被刪除的節點。 現有一個連結串列 – head = [4,5,1,9],它可以表示為: 4 -> 5 -> 1 -> 9 示例 1: 輸入: head = [4,5,1,9],

LeetCode-237|刪除連結串列節點

LeetCode-237|刪除連結串列中的節點 問題描述 請編寫一個函式,使其可以刪除某個連結串列中給定的(非末尾)節點,你將只被給定要求被刪除的節點。 現有一個連結串列 – head = [4,5,1,9],它可以表示為: 4 -> 5 -> 1

leetcode 237 刪除連結串列節點

刪除連結串列中的節點 請編寫一個函式,使其可以刪除某個連結串列中給定的(非末尾)節點,你將只被給定要求被刪除的節點。 現有一個連結串列 -- head = [4,5,1,9],它可以表示為: 4 -> 5 -> 1 -> 9 示例 1:

LeetCode筆記——203刪除連結串列的元素

題目: 刪除連結串列中等於給定值 val 的所有節點。 示例: 輸入: 1->2->6->3->4->5->6, val = 6 輸出: 1->2->3->4->5 思路:我自己想的是判斷當前節點temp的

leetcode 237. 刪除連結串列節點

請編寫一個函式,使其可以刪除某個連結串列中給定的(非末尾)節點,你將只被給定要求被刪除的節點。 現有一個連結串列 -- head = [4,5,1,9],它可以表示為: 4 -> 5 -> 1 -> 9 示例 1: 輸入: head = [

leetcode 237. 刪除連結串列節點(Delete Node in a Linked List)

請編寫一個函式,使其可以刪除某個連結串列中給定的(非末尾)節點,你將只被給定要求被刪除的節點。 現有一個連結串列 -- head = [4,5,1,9],它可以表示為: 4 -> 5 -> 1 -> 9 示例 1: 輸入: head = [

LeetCode-237. 刪除連結串列節點

題目 請編寫一個函式,使其可以刪除某個連結串列中給定的(非末尾)節點,你將只被給定要求被刪除的節點。 現有一個連結串列 – head = [4,5,1,9],它可以表示為: 4 -> 5 -> 1 -> 9 示例 1: 輸入: head =

LeetCode刪除連結串列節點

題目: 刪除連結串列中等於給定值 val 的所有節點。 示例: 輸入: 1->2->6->3->4->5->6, val = 6 輸出: 1->2->3-