劍指Offer第五十六題 刪除鍊錶中重複的結點

2021-09-19 06:31:44 字數 478 閱讀 7208

在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。 例如,鍊錶1->2->3->3->4->4->5 處理後為 1->2->5

思路:這裡想了蠻久,實際原理不難,就是利用 pre,p,post三個結點,分別記錄,如果一直重複,就找到不重複的數,這裡post表示尋找不同的數,找到不同的數或者為空後,就用pre->next = post ,表示即可,然後如果不為空繼續尋找。

這裡頭結點比較麻煩,因為頭結點也有可能重複,所以初始的pre無法立馬確定,所以加乙個自己的頭結點鏈結上,這樣可以避免這個問題。

/*

struct listnode

};*/

class solution

else

}return myhead->next;

}};

第五十六題(最長公共子串)

最長公共字串。題目 如果字串一的所有字元按其在字串中的順序出現在另外乙個字串二中,則字串一稱之為字串二的子串。注意,並不要求子串 字串一 的字元必須連續出現在字串二中。請編寫乙個函式,輸入兩個字串,求它們的最長公共子串,並列印出最長公共子串。例如 輸入兩個字串bdcaba 和abcbdab,字串bc...

解題思路 leetcode第五十六題 合併區間

給出乙個區間的集合,請合併所有重疊的區間。示例 1 輸入 1,3 2,6 8,10 15,18 輸出 1,6 8,10 15,18 解釋 區間 1,3 和 2,6 重疊,將它們合併為 1,6 示例 2 輸入 1,4 4,5 輸出 1,5 解釋 區間 1,4 和 4,5 可被視為重疊區間。解題思路 本...

劍指Offer(五十六) 刪除鍊錶中重複的結點

上午刷題時,之前一道很簡單的題寫第二遍時卡住了。看來還是沒理解透徹,題目為劍指offer 五十六 刪除鍊錶中重複的結點。鍊錶刪除類題目總結 心得 coding就是乙個思路轉化成 的過程,邏輯要清晰,善於用三種邏輯語句,卡在都想用pre cur cur aft 語句來繼續遍歷,但如果刪除重複後其實pr...