java,求二叉树的深度的算法实现?
发布网友
发布时间:2022-05-05 05:43
我来回答
共1个回答
热心网友
时间:2023-10-11 11:13
用递归很简单了。
BTNode类就自己定义吧,属性为名字,和左右孩子以及set、get方法
前序遍历:
protected static void preorder(BTNode node) {
if (node != null) {
visit(node);//随便写点打印p的名字之类的语句
preorder(node.getLeft());
preorder(node.getRight());
}
}
中序:
protected static void inorder(BTNode node) {
if (node != null) {
inorder(node.getLeft());
visit(node);
inorder(node.getRight());
}
}
后序:
protected static void postorder(BTNode node) {
if (node != null) {
postorder(node.getLeft());
postorder(node.getRight());
visit(node);
}
}
非递归的就麻烦了,得用到栈。我就偷个懒不做了...