aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2020-12-29 10:48:23 +0000
committerGitHub <noreply@github.com>2020-12-29 10:48:23 +0000
commite8a4885a1dcd127e438cae8460e881fc1065d64e (patch)
tree55d5f823701034e71b1dcdd992195c9e571c70d7
parent5de18038eab80e6a2da954ea550e46a050ff4d6d (diff)
parentd701a56c262aad54d9d0cb2d29e3a1c2498371ab (diff)
downloadperlweeklychallenge-club-e8a4885a1dcd127e438cae8460e881fc1065d64e.tar.gz
perlweeklychallenge-club-e8a4885a1dcd127e438cae8460e881fc1065d64e.tar.bz2
perlweeklychallenge-club-e8a4885a1dcd127e438cae8460e881fc1065d64e.zip
Merge pull request #3102 from ziameraj16/ziameraj16-challenge-093
Java solution for Sum Path
-rw-r--r--challenge-093/ziameraj16/README.md19
-rw-r--r--challenge-093/ziameraj16/java/SumPath.java56
2 files changed, 59 insertions, 16 deletions
diff --git a/challenge-093/ziameraj16/README.md b/challenge-093/ziameraj16/README.md
index f4a319d3b4..1837bb6df3 100644
--- a/challenge-093/ziameraj16/README.md
+++ b/challenge-093/ziameraj16/README.md
@@ -1,24 +1,11 @@
# Java solution by Mohammad Meraj Zia
-# Isomorphic Strings
+# Sum Path
To compile the code run
```java
-javac IsomorphicStrings.java
+javac SumPath.java
```
To run
```java
-java IsomorphicStrings
-```
-
-### Example
-```bash
- /perlweeklychallenge-club/challenge-092/ziameraj16/java$ javac IsomorphicStrings.java
- Note: IsomorphicStrings.java uses unchecked or unsafe operations.
- Note: Recompile with -Xlint:unchecked for details.
- /perlweeklychallenge-club/challenge-092/ziameraj16/java$ java IsomorphicStrings
- Enter first string
- xyz
- Enter second string
- abc
- Output: 1
+java SumPath
```
diff --git a/challenge-093/ziameraj16/java/SumPath.java b/challenge-093/ziameraj16/java/SumPath.java
new file mode 100644
index 0000000000..b333ce5071
--- /dev/null
+++ b/challenge-093/ziameraj16/java/SumPath.java
@@ -0,0 +1,56 @@
+
+public class SumPath {
+
+ static int sum = 0;
+
+ public static void main(String[] args) {
+ TreeNode node1 = new TreeNode(3, null, null);
+ TreeNode node2 = new TreeNode(4, null, null);
+ TreeNode node3 = new TreeNode(2, node1, node2);
+ TreeNode node4 = new TreeNode(1, node3, null);
+
+ sumOfAllPaths(node4, new int[4], 0);
+ System.out.println("Output: " + sum);
+
+ sum = 0;
+
+ TreeNode node001 = new TreeNode(4, null, null);
+ TreeNode node002 = new TreeNode(5, null, null);
+ TreeNode node003 = new TreeNode(6, null, null);
+ TreeNode node004 = new TreeNode(2, node001, null);
+ TreeNode node005 = new TreeNode(3, node002, node003);
+ TreeNode node006 = new TreeNode(1, node004, node005);
+
+ sumOfAllPaths(node006, new int[6], 0);
+ System.out.println("Output: " + sum);
+ }
+
+ private static void sumOfAllPaths(TreeNode node, int[] path, int len) {
+ if (node == null) {
+ return;
+ }
+ path[len] = node.data;
+ len++;
+ if (node.left == null && node.right == null) {
+ for (int i = 0; i < path.length; i++) {
+ sum += path[i];
+ }
+ return;
+ }
+ sumOfAllPaths(node.left, path, len);
+ sumOfAllPaths(node.right, path, len);
+ }
+
+ static class TreeNode {
+ public int data;
+ public TreeNode left;
+ public TreeNode right;
+
+ public TreeNode(int data, TreeNode left, TreeNode right) {
+ this.data = data;
+ this.left = left;
+ this.right = right;
+ }
+ }
+}
+