【LeetCode】82. Remove Duplicates from Sorted List II 解答・解説【Python】

この記事は約2分で読めます。

 

問題

原文

Given the head of a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list. Return the linked list sorted as well.

 

Example 1:

Example 2:

 

Constraints:

  • The number of nodes in the list is in the range [0, 300].
  • -100 <= Node.val <= 100
  • The list is guaranteed to be sorted in ascending order.

 

内容

ソートされた連結リストheadが与えられるので、重複する全ノードを削除し、相異なる数字のみ残してください。同様にソートして返してください。

 

制約

・リスト内のノード数は0~300

・ノードの値は-100~100

・リストは昇順ソートが保証されている

 

※正しくない可能性があります。

方針

・ハッシュテーブルで各要素の出現回数が1のみ拾って返す

解答

解答1:

・一度連結リストからリストaに全要素を保持

・リストaの各要素をキーとして、その出現回数を値として辞書dicに保持

・出現回数が1(dicの値が1)の要素を連結リストにして返す

 

 

解答2

 

 

補足・参考・感想

参考

 

 

前:61. Rotate List

次:114. Flatten Binary Tree to Linked List

LeetCode 解答・解説記事一覧

コメント