使用 C++ 打印二叉树中的所有满节点
在这个问题中,我们给定一棵二叉树。我们的任务是打印树中所有是满节点的节点。
二叉树是一种树,其中一个节点最多可以有两个子节点。节点或顶点可以没有节点、一个子节点或两个子节点。
示例 -

满节点是指其左右子节点都存在的节点。换句话说,具有左子节点和右子节点的节点是满节点。在上图的二叉树中,4 和 9 是满节点。
让我们举个例子来理解这个问题 -

输出 - 4 9
解决此问题的一个简单易懂的方法是使用任何遍历算法遍历树。检查当前节点是否具有左子节点和右子节点。如果是,则打印节点的值,否则忽略它。
示例
用于说明我们解决方案的程序,
#include <iostream>
using namespace std;
struct Node{
int data;
struct Node *left, *right;
};
Node *insertNode(int data){
Node *temp = new Node;
temp->data = data;
temp->left = temp->right = NULL;
return temp;
}
void printFullNode(Node *root){
if (root != NULL){
printFullNode(root->left);
if (root->left != NULL && root->right != NULL)
cout<<root->data<<"\t";
printFullNode(root->right);
}
}
int main(){
Node* root = insertNode(100);
root->left = insertNode(56);
root->right = insertNode(12);
root->left->left = insertNode(89);
root->right->left = insertNode(32);
root->right->right = insertNode(45);
cout<<"All full nodes of the tree are :\n";
printFullNode(root);
return 0;
}输出
All full nodes of the tree are − 100 12
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP