English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
在此示例中,我们将学习使用Java计算树中叶节点的数量。
class Node { int item; Node left, right; public Node(int key) { item = key; left = right = null; } } class Main { //树根 Node root; Main() { root = null; } //计算叶节点的方法 public static int countLeaf(Node node) { if(node == null) { return 0; } //如果节点的左、右为空 //它是叶节点 if (node.left == null && node.right == null) { return 1; } else { return countLeaf(node.left) + countLeaf(node.right); } } public static void main(String[] args) { //创建一个Tree对象 Main tree = new Main(); //创建树的节点 tree.root = new Node(5); tree.root.left = new Node(3); tree.root.right = new Node(8); //Crear el subnodo del nodo izquierdo tree.root.left.left = new Node(2); tree.root.left.right = new Node(4); //Crear el subnodo del nodo derecho tree.root.right.left = new Node(7); tree.root.right.right = new Node(9); //Llamar al método para calcular el número de nodos hoja int leafNodes = countLeaf(tree.root); System.out.println("Total de nodos hoja = "); + leafNodes); } }
Resultado de salida
Total de nodos hoja = 4
En los ejemplos anteriores, ya hemos implementado la estructura de datos de árboles en Java. Aquí, utilizamos la recursión para calcular el número de nodos hoja en el árbol.