diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2020-12-29 10:48:23 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-12-29 10:48:23 +0000 |
| commit | e8a4885a1dcd127e438cae8460e881fc1065d64e (patch) | |
| tree | 55d5f823701034e71b1dcdd992195c9e571c70d7 | |
| parent | 5de18038eab80e6a2da954ea550e46a050ff4d6d (diff) | |
| parent | d701a56c262aad54d9d0cb2d29e3a1c2498371ab (diff) | |
| download | perlweeklychallenge-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.md | 19 | ||||
| -rw-r--r-- | challenge-093/ziameraj16/java/SumPath.java | 56 |
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; + } + } +} + |
