資料結構 移除鍊錶中值為val的元素

2021-10-03 11:43:14 字數 474 閱讀 4960

刪除鍊錶中等於給定值 val 的所有節點。

示例 :

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

輸出 : 1->2->3->4->5

struct listnode 

};

思路:定義兩個指標(比如ppre,pcur),讓ppre指向頭結點,讓pcur指向頭的下乙個結點,然後一起向前走,找值為val的節點。找到後更新ppre,刪除pcur指向的結點就好了。當然,頭結點值可能也是val,我們最後再判斷,然後看是否要刪除就好

class

solution

else}if

(head-

>val == val)

head = head-

>next;

return head;}}

;

移除鍊錶元素 刪除所有val的節點

如圖我們要刪除值為val的所有元素 我的思路 1.出於空間複雜度的考慮我們這只例項化乙個節點node用來當作刪除後鍊錶的頭節點 2.我們用node1 node記錄頭節點 3.當head null時我們判斷head.val vall如果是true 則使node.next head.next 4.否則 ...

資料結構 鍊錶 例1 (查尋與與移除)

資料結構 鍊錶 例1 查尋與與移除 c 題目 試寫一演算法,在帶頭結點單鏈表的第i元素起的 所有元素從鍊錶移除,並構成乙個帶頭結點的新鍊錶。帶頭結點單鏈表的型別定義為 typedef struct lnode lnode,linklist status split l linklist l,link...

鍊錶節點是否為空 C C 資料結構 鍊錶

鍊錶 linked list 是一種基礎資料結構,是一種線性表,在每乙個節點裡存到下乙個節點的指標 pointer 即每乙個節點都儲存著指向下乙個節點的資訊。1 初始化乙個空鍊錶。2 在鍊錶末端新增乙個新節點。3 統計鍊錶的節點數。4 在鍊錶指定位置插入。5 刪除指定節點。6 清空鍊錶 list.h...