Skip to content

Commit

Permalink
Bhanu Java Pr Test
Browse files Browse the repository at this point in the history
  • Loading branch information
BhanuGoel1312 committed Feb 1, 2024
1 parent c5b3cb9 commit 7a8bf98
Showing 1 changed file with 99 additions and 0 deletions.
99 changes: 99 additions & 0 deletions Bhanu/Hello.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
public class Hello {

static class TreeNode {

int val;

TreeNode left;
TreeNode right;

TreeNode() {

}

TreeNode(int val) {

this.val = val;

}

TreeNode(int val, TreeNode left, TreeNode right) {

this.val = val;
this.left = left;
this.right = right;

}

}

static int countPseudoPalindromicPaths = 0;

private static boolean isPathPalindromic(int[] pathFreq) {

int numberOfOddFreq = 0;

for (int idx = 0; idx < 10; ++idx) {

if (pathFreq[idx] % 2 != 0) {

++numberOfOddFreq;

}

}

if (numberOfOddFreq <= 1) {

return true;

}

return false;

}

private static void allPaths(TreeNode root, int[] pathFreq) {

if (root == null) {

return;

}

++pathFreq[root.val - 1];

if (root.left == null && root.right == null) {

if (isPathPalindromic(pathFreq)) {

++countPseudoPalindromicPaths;

}

} else {

allPaths(root.left, pathFreq);
allPaths(root.right, pathFreq);

}

--pathFreq[root.val - 1];

}

public int pseudoPalindromicPaths(TreeNode root) {

int[] pathFreq = new int[9];

allPaths(root, pathFreq);

int count = countPseudoPalindromicPaths;

countPseudoPalindromicPaths = 0;

return count;

}

}

0 comments on commit 7a8bf98

Please sign in to comment.