为啥叫伪创建二叉树呢?因为我们现在才刚开始学习二叉树,而创建二叉树是一个非常复杂的过程(树的递归定义的)。因此我们就先手动的来创建二叉树。树是有一个一个的结点组成,因此得先把结点创建出来。树的结点我们采用的是简单的孩子表示法:
// 树的结点
static class TreeNode {
public char val; // 数据域
public TreeNode left; // 左子树
public TreeNode right; // 右子树
public TreeNode(char val) {
this.val = val;
}
}
创建的二叉树图形如下:
public TreeNode createBinaryTree() {
TreeNode A = new TreeNode('A');
TreeNode B = new TreeNode('B');
TreeNode C = new TreeNode('C');
TreeNode D = new TreeNode('D');
TreeNode E = new TreeNode('E');
TreeNode F = new TreeNode('F');
TreeNode G = new TreeNode('G');
// 根据图形关系把结点之间相连
A.left = B;
A.right = C;
B.left = D;
B.right = E;
C.left = F;
C.right = G;
// 返回根结点
return A;
}