📅  最后修改于: 2023-12-03 15:25:45.375000             🧑  作者: Mango
在二叉树中,孙子节点是指距离当前节点两个层级的子节点。本文将介绍如何打印具有孙子的二叉树的节点。
遍历二叉树,检查每个节点是否具有孙子节点,如果有则打印该节点的值。
以下是Java语言实现。
public class Node {
int val;
Node left, right;
public Node (int val) {
this.val = val;
left = right = null;
}
}
public class Main {
public static void printGrandchildren(Node node) {
if (node == null) return;
if (node.left != null && node.left.left != null) {
System.out.println(node.left.left.val);
}
if (node.left != null && node.left.right != null) {
System.out.println(node.left.right.val);
}
if (node.right != null && node.right.left != null) {
System.out.println(node.right.left.val);
}
if (node.right != null && node.right.right != null) {
System.out.println(node.right.right.val);
}
printGrandchildren(node.left);
printGrandchildren(node.right);
}
public static void main(String[] args) {
Node root = new Node(1);
root.left = new Node(2);
root.right = new Node(3);
root.left.left = new Node(4);
root.left.right = new Node(5);
root.right.left = new Node(6);
root.right.right = new Node(7);
printGrandchildren(root);
}
}
4
5
6
7