diff --git a/src/RecipeTree.java b/src/RecipeTree.java index 402f24e..4ea8ec4 100644 --- a/src/RecipeTree.java +++ b/src/RecipeTree.java @@ -1,3 +1,5 @@ +import java.util.Stack; + public class RecipeTree { @@ -62,4 +64,19 @@ public class RecipeTree root.printNode(); } } + + public Stack sortTopologically(RecipeNode currentNode) { + Stack recipeStack = new Stack<>(); + + if(currentNode.getChildren() == null) { + recipeStack.push(currentNode); + return recipeStack; + } else { + for (RecipeNode childNode : currentNode.children) { + recipeStack.push(currentNode); + sortTopologically(childNode); + } + } + return recipeStack; + } }