用前序序列来创建一个二叉树,但单纯用前序序列无法还原一个二叉树,我们还需要把空节点加入进去。
这是一颗我网上随便找的二叉树,它的前序序列是1,2,4,8,9,5,10,11,3,6,12,7
我们加入空节点,用0表示,1,2,4,8,0,0,9,0,0,5,10,0,0,11,0,0,3,6,12,0,0,0,7,0,0
这样我们就可以用代码来还原一个二叉树了。
//这是二叉树的节点,分别可以指向它的左右孩子
typedef struct Node {
int val;
struct Node *left;
struct Node *right;
} Node;
光有节点还不行,因为我们无法确定哪个是它的根节点