刪除鍊錶重複項,利用雙指標法來完成
定義兩個指標,分別是outercur
與innercur
,由兩層迴圈即可完成刪除重複項,當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...