使用 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