编写一个java程序,生成一棵二叉树并进行基本操作
public class Tree {
public static void main(String[] args) {
// 创建根节点
TreeNode root = new TreeNode(1);
// 创建左右子节点
TreeNode left = new TreeNode(2);
TreeNode right = new TreeNode(3);
// 构建二叉树,将左右子节点添加到根节点中去
root.left = left;
root.right = right;
// 进行先序遍历:1,2,3 (先访问根节点,再遍历左子树,最后遍历右子树)
System.out.println("先序遍历: " + preorderTraversal(root));
// 进行中序遍历:2,1,3 (先遍历左子树,再访问根节点,最后遍历右子树)
System.out.println("中序遍历: " + inorderTraversal(root));
// 进行后序遍历:2,3,1 (先遍历左子树、右子树,最后访问根节点)
System.out.println("后序遍历: " + postorderTraversal(root));
}
/** 二叉树的定义 */
public static class TreeNode {
int val; // 节点的值
TreeNode left; // 标识左孩子的引用
TreeNode right; // 标识右孩子的引用
public TreeNode() {} // 默认构造函数
public
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。