aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorziameraj16 <ziameraj16@gmail.com>2021-01-05 09:43:46 +0000
committerziameraj16 <ziameraj16@gmail.com>2021-01-05 09:43:46 +0000
commitef1599aef57981387b92fa772ceedb039e115afb (patch)
treecbf252048ed66e2da3f0f6a05b03a2747fce90ef
parentb0b072656022a6446c5a817a3cbac525c7e36887 (diff)
downloadperlweeklychallenge-club-ef1599aef57981387b92fa772ceedb039e115afb.tar.gz
perlweeklychallenge-club-ef1599aef57981387b92fa772ceedb039e115afb.tar.bz2
perlweeklychallenge-club-ef1599aef57981387b92fa772ceedb039e115afb.zip
Java solution for TASK #2 › Binary Tree to Linked List
-rw-r--r--challenge-094/ziameraj16/README.md22
-rw-r--r--challenge-094/ziameraj16/java/BinaryTreeToLinkedList.java42
2 files changed, 57 insertions, 7 deletions
diff --git a/challenge-094/ziameraj16/README.md b/challenge-094/ziameraj16/README.md
index 1837bb6df3..2635085bf6 100644
--- a/challenge-094/ziameraj16/README.md
+++ b/challenge-094/ziameraj16/README.md
@@ -1,11 +1,19 @@
# Java solution by Mohammad Meraj Zia
-# Sum Path
+# Binary Tree to Linked List
-To compile the code run
-```java
-javac SumPath.java
-```
-To run
+1. Prepare the tree using the `TreeNode` inner class in the `BinaryTreeToLinkedList`
+2. Call the `preOrderBinaryTreeTraversal()` method to convert the tree elements into a list.
+3. Call `printTreeElementAsList()` to print the list.
+
+## Example
```java
-java SumPath
+TreeNode six = new TreeNode("6", null, null);
+TreeNode seven = new TreeNode("7", null, null);
+TreeNode five = new TreeNode("5", six, seven);
+TreeNode four = new TreeNode("4", null, null);
+TreeNode two = new TreeNode("2", four, five);
+TreeNode three = new TreeNode("3", null, null);
+TreeNode root = new TreeNode("1", two, three);
+binaryTreeToLinkedList.preOrderBinaryTreeTraversal(root);
```
+
diff --git a/challenge-094/ziameraj16/java/BinaryTreeToLinkedList.java b/challenge-094/ziameraj16/java/BinaryTreeToLinkedList.java
new file mode 100644
index 0000000000..77c8e7cc12
--- /dev/null
+++ b/challenge-094/ziameraj16/java/BinaryTreeToLinkedList.java
@@ -0,0 +1,42 @@
+import java.util.ArrayList;
+import java.util.List;
+
+public class BinaryTreeToLinkedList {
+
+ private List<String> treeNodesAsList;
+
+ public BinaryTreeToLinkedList() {
+ this.treeNodesAsList = new ArrayList();
+ }
+
+ public void preOrderBinaryTreeTraversal(TreeNode node) {
+ if (node == null) {
+ return;
+ }
+ treeNodesAsList.add(node.data);
+ preOrderBinaryTreeTraversal(node.left);
+ preOrderBinaryTreeTraversal(node.right);
+ }
+
+ public void printTreeElementAsList() {
+ System.out.println(String.join(" -> ", treeNodesAsList));
+ }
+
+ public List<String> getTreeNodesAsList() {
+ return treeNodesAsList;
+ }
+
+ static class TreeNode {
+ public String data;
+ public TreeNode left;
+ public TreeNode right;
+
+ public TreeNode(String data, TreeNode left, TreeNode right) {
+ this.data = data;
+ this.left = left;
+ this.right = right;
+ }
+ }
+
+}
+