给出每个子结点到根结点的路径,可以进行输入建树;
然后用宽度优先搜索的方法遍历这棵二叉树;
宽度优先搜索需要用到队列,队列中头部出来一个,尾部需要进去两个(左孩子、右孩子),直到叶子结点为止!
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
using namespace std ;
struct Node {
int data ;
Node *left ;
Node *right ;
};
Node* newnode() {
Node *root = new Node ;
root->left = NULL ;
root->right = NULL ;
return root ;
};
int main() {
Node *root = newnode() ;
char s[100] ;
while(cin >> s ) {
Node *t = root ;
if(strcmp(s,"()") == 0 )
break ;
int data ;
sscanf(&s[1],"%d",&data);
char *s1 = (strchr(s,',')+1) ;
int len = strlen(s1) ;