83 刪除排序鍊錶中的重複元素

2021-10-24 06:20:42 字數 1044 閱讀 3637

題目:

給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。

注意:鍊錶已經排序,排序,排序

無排序是另外一種解法;

方法:引入pre指標+next指標。穿針引線法

函式**:

class

solution

listnode *cur=head;

listnode *p=head;

while

(cur-

>next!=

null

&&cur!=

null

)else

}return head;}}

;

函式**二:

class

solution

// 注意,題目給的是已排好序的鍊錶,所以一旦cur和pre的值不等,那麼後面全部都不會出現和當前pre的值相等的元素了,所以pre可以往後移動一位

else

}return head;}}

;

class

solution

listnode *cur=head;

while

(cur&&cur-

>next)

else

}return head;}}

;

函式**三:注釋版

class

solution

listnode* ptr=head;

//遍歷的指標

while

(ptr-

>next !=

null

)else

}//返回首個節點

return head;}}

;

83 刪除排序鍊錶中的重複元素

給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。示例 1 輸入 1 1 2 輸出 1 2 示例 2 輸入 1 1 2 3 3 輸出 1 2 3 看了下執行時間最快的演算法,分析了一下,leetcode程式設計都不注意記憶體 的嘛,以空間換時間 好像不是一般我們說的空間換時間演算法哈。記...

83 刪除排序鍊錶中的重複元素

題目 給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。示例 1 輸入 1 1 2輸出 1 2示例 2 輸入 1 1 2 3 3輸出 1 2 3思路 首先判斷head或者head next為空指標,如果是返回head 不是的話,1.使用兩個listnode指標p和q,p初始化為head,...

83 刪除排序鍊錶中的重複元素

給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。輸入 1 1 2輸出 1 2輸入 1 1 2 3 3輸出 1 2 3設定乙個cur指標指向當前結點,再設定乙個next指標指向當前結點的下乙個結點。設定乙個while迴圈使得next.val的值跟cur.val的值不相等,將cur和nex...