刪除單鏈表中的重複項,雙指標法

2021-09-22 12:53:01 字數 1021 閱讀 8462

刪除鍊錶重複項,利用雙指標法來完成

定義兩個指標,分別是outercurinnercur,由兩層迴圈即可完成刪除重複項,當outercur指向的節點值與innercur指向的節點值相同時,將該節點刪除,否則繼續遍歷

鍊錶節點類:

public

class

lnode

**實現:

public

class

main

else

cur.next = tmp;

cur = tmp;

}printlnode

(head)

; system.out.

println()

;deleterepeat

(head)

;printlnode

(head);}

public

static

void

deleterepeat

(lnode head)

lnode outercur = null;

lnode innercur = null;

lnode innerpre = null;

for(outercur = head.next; outercur != null; outercur = outercur.next)

else}}

}public

static

void

printlnode

(lnode head)

}

結果輸出:

0 2 2 4 4 6 6 8 8 10

0 2 4 6 8 10

雙指標法 刪除排序陣列中的重複項

力扣 給定乙個排序陣列,你需要在原地刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列 並在使用 o 1 額外空間的條件下完成。例如 給定 nums 0,0,1,1,1,2,2,3,3,4 函式應該返回新的長度 5,並且原陣列 num...

單鏈表 判斷單鏈表L是否是遞增的(雙指標法)

單鏈表的儲存結構 typedef struct linklist 分析 定義乙個指標p夠不夠用?你要判斷是否遞增,說明要比較前後兩節點的資料域。如果前者一直大於後者,那麼可判斷該單鏈表遞增。所以這裡要定義兩個指標,pre p.思路 1.定義兩個前後指標pre p,並pre開始指向頭結點 2.通過wh...

刪除單鏈表中的重複結點

方法一 遞迴 link delsame link head 沒有重複的元素,加入list後,為了保持不變式 要從list兩兩比較,如果有相同元素必定在開頭兩個 link pointer,temp head if head next null return head head next delsame...