連結リストの先頭にノードを挿入する
前の演習では、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