Number of Good Leaf Nodes Pairs LeetCode solution in Java
1class Solution {2static int res;34public int countPairs(TreeNode root, int distance) {5res = 0;6rec(root, distance);7return res;8}910static List<Integer> rec(TreeNode root, int dist) {11if (root == null) {12return new LinkedList<Integer>();13}14List<Integer> left = rec(root.left, dist);15List<Integer> right = rec(root.right, dist);16if (left.size() == 0 && right.size() == 0) {17List<Integer> temp = new LinkedList<>();18temp.add(1);19return temp;20}21for (int i : left) {22for (int j : right) {23if (i + j <= dist) {24res++;25}26}27}28List<Integer> temp = new LinkedList<>();29for (int i : left) {30temp.add(i + 1);31}32for (int i : right) {33temp.add(i + 1);34}35return temp;36}37}