I need help with binary trees, I have written a code to get all the nodes below a current Node and it is working but I need to get it to look better if possible. To get the number of nodes below I have created an Array List, which I then go to the first Node below and add all the people to the Array list on the same level till I get to the end of the level, then I go down again until I cannot go down any more. Is there a way I can have my code without having to use an array List? I have put my code below. The brieff about the tree is that you have a parent and below the Parent are children who can have brothers and sisters next to them and after that they also have children below that. The method is trying to find the number of children below any given childprivate LinkedList<Node> TempQueue = new LinkedList<Node>(); public int noOfYoungerChildren(Member p1){ Node tmp = find(p1); return countYoungerChildren(tmp); } private int countYoungerChildren(Node m){ Node tmp = m.getFirstYoungerChildren(); if(tmp != null){ TempQueue.add(tmp); while(tmp.getNextChild() != null){ TempQueue.add(tmp.getNextChild()); tmp = tmp.getNextChild(); } } if(queue.isEmpty()){ return 0; } else { int number = 1 + countYoungerChildren(TempQueue.poll()); return number; } }