作業2 112 刪除排序鍊錶中的重複元素

2021-07-29 12:16:54 字數 481 閱讀 6781

題目:刪除排序鍊錶中的重複元素

樣例:給出1->1->2->null,返回1->2->null。

給出1->1->2->3->3->null,返回1->2->3->null。

思路:在排序鍊錶中,除去空鍊錶和鍊錶長度為1的兩種情況。設定兩個指標p和q,q賦值為頭節點,p賦值為q的後繼。當q與p值相同時,做刪除操作,使q指向p的後繼,p賦值為q的後繼,也就是原來p的後繼,然後再次判斷是否相等。當q與p不相等時,兩個指標同時後移乙個長度,q賦值為p,p賦值為新的q的後繼。當p為鍊錶結尾時,結束刪除,返回修改後的鍊錶。

**:

class solution  else 

}return head;

}};

感想:因為本題的前提是排序鍊錶,所以做起來比較簡單,關鍵就在於設定兩個指標,分別指向相鄰的前後節點,然後判斷,符合條件後刪除,然後再賦值給指標新的節點,依次判斷完整條鍊錶,就完成了所有的刪除操作。

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

2.解決思路 判斷當前節點temp和temp next資料域存放的資料元素的關係,若兩個節點的存放資料相同將 temp next指向temp next next這樣就可以刪掉和temp存放相同元素的temp next 若不同則temp往後移動,在進行判斷。3.通過的 definition of li...

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

難度 簡單 型別 鍊錶 給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。示例 1 輸入 1 1 2 輸出 1 2 示例 2 輸入 1 1 2 3 3 輸出 1 2 3參見 definition for singly linked list.public class listnode c...

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

給定乙個排序鍊錶,刪除所有重複的元素每個元素只留下乙個。樣例給出 1 1 2 null,返回 1 2 null 給出 1 1 2 3 3 null,返回 1 2 3 null 標籤鍊錶 思路 遍歷樹,得到根節點到目標節點的路徑。節點a和b分別得到兩個路徑陣列patha和pathb。a和b的最近公共祖...