連結リストの先頭にノードを挿入する
前の演習では、Node()クラスとLinkedList()クラスの作成を実践しました。
この演習では、連結リストの先頭に新しいノードを追加するinsert_at_beginning() メソッドのコードを作成します。
Node()クラスを確認しておきましょう。
class Node:
def __init__(self, data):
self.data = data
self.next = None
この演習はコースの一部です
Pythonで学ぶデータ構造とアルゴリズム
演習の手順
- 新しいノードを作成してください。
- 連結リストに
headノードがあるかどうかを確認してください。 - 連結リストに
headノードがある場合、新しいノードのnextノードをheadに向けてください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
def insert_at_beginning(self, data):
# Create the new node
new_node = ____(data)
# Check whether the linked list has a head node
if self.____:
# Point the next node of the new node to the head
new_node.___ = self.____
self.head = new_node
else:
self.tail = new_node
self.head = new_node