T82 和 T83 刪除有序鍊錶中的重複元素

2021-10-24 05:33:13 字數 909 閱讀 5093

t82:

【題目】:給定乙個排序鍊錶,刪除所有含有重複數字的節點,只保留原始鍊錶中 沒有重複出現 的數字。

【思想】: 跟下面那個題一樣,也是建立乙個輔助鍊錶,利用尾插法將原煉表中的唯一節點進行插入,還是要注意斷鏈

class solution 

if(temp.next == right)else

}return temphead.next;

}}

也可以這麼幹

class solution 

if(temp.next == right)else

}rear.next = null;//防止rear所指向的節點保留原本的next域,這樣就會導致rear指向的不再是我們找到的符合要求的最後乙個節點了,也就是這樣是為了保證讓rear指向的是我們找到的符合要求的最後乙個節點

return temphead.next;

}}

t83

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

【題目】:利用插排思想,建立乙個輔助頭結點,將不重複元素尾插進輔助鍊錶中,但需要注意斷鏈處理

class solution 

temp = next;

}return temphead.next;

}}

當然也可以這麼幹

class solution 

temp = temp.next;

}rear.next = null;//防止rear會保留原節點的next域

return temphead.next;

}}

力扣82和83 刪除排序鍊錶中的重複元素I II

82.刪除排序鍊錶中的重複元素 ii 給定乙個排序鍊錶,刪除所有含有重複數字的節點,只保留原始鍊錶中 沒有重複出現 的數字。示例 1 輸入 1 2 3 3 4 4 5 輸出 1 2 5 解決 public listnode deleteduplicates listnode head flag.ne...

83 刪除鍊錶中重複的元素

給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。示例 1 輸入 1 1 2 輸出 1 2 示例 2 輸入 1 1 2 3 3 輸出 1 2 3 有兩種解法,一種是迭代,使用雙指標,另一種是遞迴。雙指標就是定義快慢指標,快指標與慢指標指向的值進行比較,如果兩個的val相等代表兩個元素重複...

leetcode 82 移除有序鍊錶中的重複項之二

給定乙個排序鍊錶,刪除所有含有重複數字的節點,只保留原始鍊錶中 沒有重複出現 的數字。示例 1 輸入 1 2 3 3 4 4 5 輸出 1 2 5示例 2 輸入 1 1 1 2 3 輸出 2 3由於鍊錶開頭可能會有重複項,被刪掉的話頭指標會改變,而最終卻還需要返回鍊錶的頭指標。所以需要定義乙個新的節...