1. 程式人生 > 其它 >LeetCode-203-移除連結串列元素

LeetCode-203-移除連結串列元素

技術標籤:連結串列leetcode資料結構演算法

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

示例:

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

解題思路

用一個假的頭節點,方便寫程式碼
ListNode dummyHead = new ListNode(); dummyHead.next = head;
用一個節點指向假的頭節點,然後當該節點的next不為空時,判斷next.val是否為所給值
如果是則斷開next cur.next = cur.next.next

,否則迭代cur = cur.next

程式碼

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