GitHubの:https://github.com/cytues/sword
タイトル説明
キューを達成するための2つのスタック、完了キューのプッシュとポップ操作。キューの要素がint型。
-
# - * - コーディング:UTF-8 - * -
-
「」
'
-
Aがプッシュされ、Bは、スタックは、要素が存在するかどうかを決定するために、スタックしながら、Aに直接行くことができる場合、スタックの外にあります
-
どの要素B、ポップは確かにエラーがない場合、それは最初に圧倒さB内のすべての要素の、要素、その後トップをポップする必要があり、Bは直接ポップアウト持っている場合、あなたは、することができます
-
これは一緒に、最高のアイデア、最後のアウトを実現2つのスタックで、FIFOキューを実現します。
-
'
『』
-
クラスの ソリューション:
-
#2つのスタックを初期化します
-
デフ __init__ (自己)
:
-
自己
.stackA = []
-
自己
.stackB = []
-
ここで達成位のみプッシュとポップ操作キューがそれぞれ使用されている必要があり、2を押し、ポップスタックが表し
-
デフ プッシュ(自己、ノード)
:
-
ここで#ライト・コード
-
自己
.stackA.append(ノード)
-
#ポップは、先験的な条件を必要とします。キューが空の場合は、どれもが返されません
-
デフ ポップ(自己)
:
-
ある場合#スタックの要素がポップに直接プッシュされます
-
もし
自己
。
stackB:
-
自己
.stackB.pop()
-
要素がない場合#はNoneを返します
-
elifのない自己。 スタック:
-
戻らない
なし
-
#均一プレスポップへのすべての要素A、Bを実行した場合
-
他:
-
しばらく
自己
。
stackA:
-
自己
.stackB.append(
自己
.stackA.pop())
-
返す
自己
.stackB.popを()