用Java写一个递归树形结构
时间: 2023-04-01 20:04:01 浏览: 139
非常感谢您的提问。这个问题可以回答。以下是一个用 Java 写的递归树形结构的示例代码:
```
public class TreeNode {
private int val;
private TreeNode left;
private TreeNode right;
public TreeNode(int val) {
this.val = val;
}
public int getVal() {
return val;
}
public void setVal(int val) {
this.val = val;
}
public TreeNode getLeft() {
return left;
}
public void setLeft(TreeNode left) {
this.left = left;
}
public TreeNode getRight() {
return right;
}
public void setRight(TreeNode right) {
this.right = right;
}
public void printTree() {
printTree(this, );
}
private void printTree(TreeNode node, int depth) {
if (node == null) {
return;
}
for (int i = ; i < depth; i++) {
System.out.print("-");
}
System.out.println(node.getVal());
printTree(node.getLeft(), depth + 1);
printTree(node.getRight(), depth + 1);
}
}
```
这个类表示一个树节点,包含一个整数值和左右子节点。它还有一个 printTree 方法,用于打印整个树的结构。在 printTree 方法中,我们使用递归来遍历整个树,并打印每个节点的值和深度。
阅读全文