Skip to content

Commit 1b868ce

Browse files
add 1530
1 parent 795e6b1 commit 1b868ce

File tree

1 file changed

+9
-9
lines changed
  • src/main/java/com/fishercoder/solutions/secondthousand

1 file changed

+9
-9
lines changed

Diff for: src/main/java/com/fishercoder/solutions/secondthousand/_1530.java

+9-9
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ public class _1530 {
1515
public static class Solution1 {
1616
public int countPairs(TreeNode root, int distance) {
1717
Map<TreeNode, TreeNode> childToParentMap = new HashMap<>();
18-
List<TreeNode> leafNodes = findAllLeaves(root, childToParentMap, new ArrayList<>());
18+
List<TreeNode> leafNodes = new ArrayList();
19+
postOrderToFindAllLeavesAndBuildChildParentMap(root, childToParentMap, leafNodes);
1920
int pairs = 0;
2021
for (TreeNode leaf : leafNodes) {
2122
pairs += bfsToPossibleLeaves(leaf, distance, childToParentMap);
@@ -51,22 +52,21 @@ private int bfsToPossibleLeaves(TreeNode leaf, int distance, Map<TreeNode, TreeN
5152
return count;
5253
}
5354

54-
private List<TreeNode> findAllLeaves(TreeNode node, Map<TreeNode, TreeNode> childToParentMap, List<TreeNode> leafNodes) {
55+
private void postOrderToFindAllLeavesAndBuildChildParentMap(TreeNode node, Map<TreeNode, TreeNode> childToParentMap, List<TreeNode> leafNodes) {
5556
if (node == null) {
56-
return leafNodes;
57-
}
58-
if (node.left == null && node.right == null) {
59-
leafNodes.add(node);
57+
return;
6058
}
6159
if (node.left != null) {
6260
childToParentMap.put(node.left, node);
63-
findAllLeaves(node.left, childToParentMap, leafNodes);
6461
}
6562
if (node.right != null) {
6663
childToParentMap.put(node.right, node);
67-
findAllLeaves(node.right, childToParentMap, leafNodes);
6864
}
69-
return leafNodes;
65+
postOrderToFindAllLeavesAndBuildChildParentMap(node.left, childToParentMap, leafNodes);
66+
postOrderToFindAllLeavesAndBuildChildParentMap(node.right, childToParentMap, leafNodes);
67+
if (node.left == null && node.right == null) {
68+
leafNodes.add(node);
69+
}
7070
}
7171
}
7272
}

0 commit comments

Comments
 (0)