请用java写个二叉树
以下是使用Java编写的二叉树的示例代码:
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int val) {
this.val = val;
left = null;
right = null;
}
}
public class BinaryTree {
TreeNode root;
BinaryTree() {
root = null;
}
void insert(int value) {
root = insertNode(root, value);
}
TreeNode insertNode(TreeNode root, int value) {
if (root == null) {
root = new TreeNode(value);
return root;
}
if (value < root.val) {
root.left = insertNode(root.left, value);
} else if (value > root.val) {
root.right = insertNode(root.right, value);
}
return root;
}
void inorderTraversal(TreeNode node) {
if (node != null) {
inorderTraversal(node.left);
System.out.print(node.val + " ");
inorderTraversal(node.right);
}
}
public static void main(String[] args) {
BinaryTree tree = new BinaryTree();
tree.insert(50);
tree.insert(30);
tree.insert(20);
tree.insert(40);
tree.insert(70);
tree.insert(60);
tree.insert(80);
System.out.print("Inorder traversal: ");
tree.inorderTraversal(tree.root);
}
}
这个示例代码中,首先定义了一个TreeNode类来表示二叉树的节点。然后定义了BinaryTree类来表示二叉树,并实现了插入节点和中序遍历的方法。insert方法通过递归的方式插入节点,inorderTraversal方法通过递归的方式进行中序遍历。
在main方法中,创建了一个二叉树对象tree,并向其中插入了一些节点。最后调用inorderTraversal方法进行中序遍历,并输出结果
原文地址: https://www.cveoy.top/t/topic/iMhJ 著作权归作者所有。请勿转载和采集!