思路:
二叉树的二叉树的常见遍历方式就是前序中序后序。
我们可以吧遍历看成模板,然后对相应的数据进行分析。
分析(IF)
要分析的是叶子节点和分支节点的不同。
分支节点:他的左右节点存在且至少存在一个不为空
反之,分析叶子节点:叶子节点的左右节点必须均不为空。
代码:
#include <iostream>
using namespace std;
struct node{
int data;
node *left;
ndoe *right;
}
void PrintBranch(node *tree){//打印分支节点
if(!tree){
return ;
}
if(tree->left||tree->right)
cout<<tree->data<<endl;
PrintBranch(tree->left);
PrintfBranch(tree->right);
}
void PrintLeaves(node *tree){//打印叶子节点
if(!tree){
return ;
}
if(tree->left==NULL&&tree->right==NULL)
cout<<tree->data<<endl;
PrintLeaves(tree->left);
PrintLeaves(tree->right);
}
突然感觉自己入了Linux的坑,天天鼓捣破Pi板
版权声明:本文为sdlwzzm19971226原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。